Compare commits
215 Commits
release-1.
...
branch-1.6
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bc335f5df7 | ||
|
|
cf31814e55 | ||
|
|
3b0fd070fd | ||
|
|
9f69fb1b80 | ||
|
|
c124ae6507 | ||
|
|
51a01cdba1 | ||
|
|
6905714a7e | ||
|
|
72460df747 | ||
|
|
a596abfbe3 | ||
|
|
fbbb24f406 | ||
|
|
0508fb0d6e | ||
|
|
848d66e69d | ||
|
|
04fb684323 | ||
|
|
faaef39a3c | ||
|
|
a1193f385e | ||
|
|
c20f2bd3a1 | ||
|
|
3fc0f9ad1d | ||
|
|
2211cc14e6 | ||
|
|
bf60dc06e0 | ||
|
|
908785fba7 | ||
|
|
1a28e8ff51 | ||
|
|
89ad5e6779 | ||
|
|
062ac0c926 | ||
|
|
06aa3b17c4 | ||
|
|
9f444a680e | ||
|
|
8e3a71905b | ||
|
|
72c29ef1f6 | ||
|
|
f6a3102b48 | ||
|
|
9a9c4e829e | ||
|
|
7a571f513e | ||
|
|
f10730f616 | ||
|
|
c70f5ce323 | ||
|
|
a3c540bc9b | ||
|
|
7b1aa4c9e3 | ||
|
|
907c7c2621 | ||
|
|
25c27b8af7 | ||
|
|
dcbbc30f5c | ||
|
|
3509991872 | ||
|
|
6279b7fa5f | ||
|
|
6cd1f11154 | ||
|
|
f015a132e8 | ||
|
|
40e90e89fc | ||
|
|
40ddff1096 | ||
|
|
692813d03e | ||
|
|
d9e90499b7 | ||
|
|
6db2271ac3 | ||
|
|
4d21d45da7 | ||
|
|
708ea30806 | ||
|
|
39dfad2cba | ||
|
|
3d7c1dbd59 | ||
|
|
e52e7e0bd3 | ||
|
|
d5d680d131 | ||
|
|
7ee266076d | ||
|
|
90fad896c4 | ||
|
|
0ea9c438e5 | ||
|
|
c661180d15 | ||
|
|
1a98394781 | ||
|
|
89fe655aee | ||
|
|
d72bb5cff5 | ||
|
|
e02753736a | ||
|
|
1c21e6e54f | ||
|
|
a383cbb8e2 | ||
|
|
34a77cc095 | ||
|
|
e10bc2ec0c | ||
|
|
777c936f4c | ||
|
|
04c1bf3fb0 | ||
|
|
ab792e4223 | ||
|
|
d0b16d056e | ||
|
|
dc4eda529f | ||
|
|
c154c63cdc | ||
|
|
49af91fe48 | ||
|
|
df27ba505f | ||
|
|
9a33782ab5 | ||
|
|
e0e81e6cd2 | ||
|
|
02afbb09c9 | ||
|
|
804088d859 | ||
|
|
679ebeec48 | ||
|
|
19ec877b2a | ||
|
|
01d7c05fb8 | ||
|
|
952492b44e | ||
|
|
a04c36f47e | ||
|
|
e13ffe3bf8 | ||
|
|
d3d17da6e5 | ||
|
|
e0444b26e6 | ||
|
|
cb07623dde | ||
|
|
c9f3e26f24 | ||
|
|
a3d038c885 | ||
|
|
731512b0e5 | ||
|
|
76eb3f869b | ||
|
|
b116d10f37 | ||
|
|
1a083479a9 | ||
|
|
850e6b4849 | ||
|
|
d48d73720b | ||
|
|
b7f83bb7c6 | ||
|
|
05fb3f8026 | ||
|
|
7178f300bb | ||
|
|
f7a801c3ae | ||
|
|
f299d6597a | ||
|
|
35819a7a44 | ||
|
|
f1c4ffefda | ||
|
|
a692e591de | ||
|
|
ad7272d2b5 | ||
|
|
86bef09787 | ||
|
|
c40d2bc0c9 | ||
|
|
8e39b2af85 | ||
|
|
2eb3e069ba | ||
|
|
db532afb9b | ||
|
|
1b38cc963a | ||
|
|
c67187ac94 | ||
|
|
d45f3c28cf | ||
|
|
06660b6383 | ||
|
|
41412c16ef | ||
|
|
04e5767ea0 | ||
|
|
5944960e17 | ||
|
|
d952ebfb44 | ||
|
|
56b44fee91 | ||
|
|
ff635f92c0 | ||
|
|
19a23dafba | ||
|
|
bd7f83feb5 | ||
|
|
e4678168fa | ||
|
|
a0dc3482dc | ||
|
|
87d1d3c3ec | ||
|
|
194397b6d6 | ||
|
|
b78eaf4e43 | ||
|
|
a54d6e7e83 | ||
|
|
18bf3b1c9c | ||
|
|
bb140000c0 | ||
|
|
7aef73d7eb | ||
|
|
77c73884b8 | ||
|
|
72eecacf56 | ||
|
|
601332f88f | ||
|
|
4605314569 | ||
|
|
e95b4cc53a | ||
|
|
e722d8c375 | ||
|
|
29ee36b1ca | ||
|
|
2fb791c9bb | ||
|
|
d909297aa7 | ||
|
|
9b616a08df | ||
|
|
3ab8d536a0 | ||
|
|
4f34a12a83 | ||
|
|
97a17ff5ad | ||
|
|
9965f02727 | ||
|
|
861a538cea | ||
|
|
c12d33aca6 | ||
|
|
4c3532585d | ||
|
|
71ab707e81 | ||
|
|
cec9d55c4c | ||
|
|
56c26b5199 | ||
|
|
0469388b73 | ||
|
|
268abf72fb | ||
|
|
288ef35cee | ||
|
|
7ef089b09a | ||
|
|
c13b1f7e37 | ||
|
|
3e7bf14488 | ||
|
|
a8bcbe9491 | ||
|
|
1a1570fe0f | ||
|
|
30badb44c7 | ||
|
|
3504b13eae | ||
|
|
d6f1e4112e | ||
|
|
e5887c9036 | ||
|
|
eeab71082f | ||
|
|
f6e88d5b0a | ||
|
|
add51536fc | ||
|
|
40864da7c1 | ||
|
|
5caaf3ad07 | ||
|
|
26c3f87eca | ||
|
|
20372ccef6 | ||
|
|
47c86542bc | ||
|
|
da244683cf | ||
|
|
7301f46269 | ||
|
|
bd203e780e | ||
|
|
69f3fe2330 | ||
|
|
52df3081df | ||
|
|
71e77a5b27 | ||
|
|
a79a149e6a | ||
|
|
0693adc7dc | ||
|
|
076f8e5be6 | ||
|
|
60f9df425b | ||
|
|
fa83dd4a00 | ||
|
|
795de3e077 | ||
|
|
a567576100 | ||
|
|
bc473d5e68 | ||
|
|
2940cbf94a | ||
|
|
d87c966ec5 | ||
|
|
e88d9dbedc | ||
|
|
33fcfeb79f | ||
|
|
a9c24fc7f3 | ||
|
|
537581d8ad | ||
|
|
66ea2ab11d | ||
|
|
4ca0b382ea | ||
|
|
c155d3c68f | ||
|
|
03bd7759cd | ||
|
|
80a65e5f61 | ||
|
|
3b33626e2f | ||
|
|
b35761e893 | ||
|
|
631259dcfc | ||
|
|
98e4f938d6 | ||
|
|
92c93a8010 | ||
|
|
e40e6b49d4 | ||
|
|
cec07d641a | ||
|
|
6c6fb3707f | ||
|
|
92ea719804 | ||
|
|
fed316ff3e | ||
|
|
8eb7d1c1a5 | ||
|
|
2b263b6574 | ||
|
|
e16cb4b225 | ||
|
|
0996d23318 | ||
|
|
11f9a2bafe | ||
|
|
8aca337de7 | ||
|
|
a78a048577 | ||
|
|
7338411c08 | ||
|
|
3a9ae348bc | ||
|
|
840669b253 | ||
|
|
e30e7bd586 | ||
|
|
0d3412bb24 |
15
.gitignore
vendored
15
.gitignore
vendored
@@ -73,6 +73,14 @@ GRTAGS
|
||||
GSYMS
|
||||
GTAGS
|
||||
|
||||
# QT-Creator files
|
||||
Makefile.am.user
|
||||
pupnp.config
|
||||
pupnp.creator
|
||||
pupnp.creator.user
|
||||
pupnp.files
|
||||
pupnp.includes
|
||||
|
||||
*.orig
|
||||
*~
|
||||
\#*#
|
||||
@@ -101,5 +109,12 @@ upnp/inc/upnpconfig.h
|
||||
upnp/sample/tv_combo
|
||||
upnp/sample/tv_ctrlpt
|
||||
upnp/sample/tv_device
|
||||
upnp/unittest/unittest
|
||||
upnp/unittest/*.pp.c
|
||||
docs/doxygen
|
||||
|
||||
|
||||
/build/vc10/out.vc9.Win32/Debug
|
||||
/build/vc10/out.vc10.Win32
|
||||
/build/vc10/out.vc10.x64
|
||||
/pthreads
|
||||
|
||||
2
Doxyfile
2
Doxyfile
@@ -31,7 +31,7 @@ PROJECT_NAME = libUPnP
|
||||
# This could be handy for archiving the generated documentation or
|
||||
# if some version control system is used.
|
||||
|
||||
PROJECT_NUMBER = 1.6.12
|
||||
PROJECT_NUMBER = 1.6.20
|
||||
|
||||
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
|
||||
# base path where the generated documentation will be put.
|
||||
|
||||
12
README
12
README
@@ -266,12 +266,24 @@ In order to build libupnp under Windows the pthreads-w32 package is required.
|
||||
You can download a self-extracting ZIP file from the following location:
|
||||
|
||||
ftp://sources.redhat.com/pub/pthreads-win32/pthreads-w32-2-7-0-release.exe
|
||||
or possibly newer versions if available.
|
||||
|
||||
Execute the self-extracting archive and copy the Pre-build.2 folder to the
|
||||
top level source folder.
|
||||
Rename Pre-build.2 to pthreads.
|
||||
Open the provided workspace build\libupnp.dsw with Visual C++ 6.0 and select
|
||||
Build->Build libupnp.dll (F7)
|
||||
In the build directory there are also VC8, VC9 and VC10 folders containing
|
||||
solution files for Visual Studio 2005/2008/2010 respectively.
|
||||
|
||||
If you use newer versions to build libupnp, eg Visual Studio 2003 or later,
|
||||
then you need to rebuild the pthreads package so it uses the same VC runtime
|
||||
as libupnp to prevent cross boundary runtime problems
|
||||
(see http://msdn.microsoft.com/en-us/library/ms235460%28v=VS.100%29.aspx).
|
||||
Just replace the files in the Pre-build.2 folder (renamed to pthreads as
|
||||
mentioned above) with the newly build versions.
|
||||
If you also use a newer version of pthreads-win32 then you should also
|
||||
replace the header files in that directory structure (obviously).
|
||||
|
||||
For building a static library instead of a DLL and for using the static
|
||||
pthreads-w32 library following switches need to be defined additionally:
|
||||
|
||||
20
THANKS
20
THANKS
@@ -8,13 +8,14 @@ exempt of errors.
|
||||
|
||||
- Alex (afaucher)
|
||||
- Andre Sodermans (wienerschnitzel)
|
||||
- Anoop Mohan (an00p)
|
||||
- Anthony Viallard (homer242)
|
||||
- Apostolos Syropoulos
|
||||
- Arno Willig
|
||||
- Bob Ciora
|
||||
- Carlo Parata
|
||||
- Carl Benson
|
||||
- Chandra (inactiveneurons)
|
||||
- Chandra Penke (inactiveneurons)
|
||||
- Chaos
|
||||
- Charles Nepveu (cnepveu)
|
||||
- Chris Pickel
|
||||
@@ -22,18 +23,22 @@ exempt of errors.
|
||||
- Craig Nelson
|
||||
- David Blanchet
|
||||
- David Maass
|
||||
- Dirk (dirk_vdb)
|
||||
- Emil Ljungdahl
|
||||
- Erik Johansson
|
||||
- Eric Tanguy
|
||||
- Erwan Velu
|
||||
- Eugene Christensen
|
||||
- Fabrice Fontaine
|
||||
- Fabrice Fontaine (ffontaine)
|
||||
- Fredrik Svensson
|
||||
- Glen Masgai
|
||||
- Gustavo Zacarias (gustavoz)
|
||||
- Hartmut Holzgraefe (hholzgra)
|
||||
- Iain Denniston (ectotropic)
|
||||
- Ingo Hofmann
|
||||
- Ivan Romanov (ivanromanov)
|
||||
- Jiri Zouhar
|
||||
- Jean-Francois Dockes (medoc)
|
||||
- John Dennis
|
||||
- Jonathan Casiot (no_dice)
|
||||
- Josh Carroll
|
||||
@@ -51,15 +56,26 @@ exempt of errors.
|
||||
- Oskar Liljeblad
|
||||
- Michael (oxygenic)
|
||||
- Paul Vixie
|
||||
- Peng
|
||||
- Peter Hartley
|
||||
- Philipp Matthias Hahn
|
||||
- Pino Toscano (pinotree)
|
||||
- Rene Hexel
|
||||
- Robert Buckley (rbuckley)
|
||||
- Robert Gingher (robsbox)
|
||||
- Ronan Menard
|
||||
- Sebastian Brandt
|
||||
- Shaun Marko (semarko)
|
||||
- Siva Chandran
|
||||
- Stefan Sommerfeld (zerocom)
|
||||
- Stéphane Corthésy
|
||||
- Steve Bresson
|
||||
- Thijs Schreijer
|
||||
- Timothy Redaelli
|
||||
- Titus Winters
|
||||
- Tom (tomdev2)
|
||||
- Yoichi Nakayama (yoichi)
|
||||
- zephyrus (zephyrus00jp)
|
||||
- zexian chen
|
||||
- Zheng Peng (darkelf2010)
|
||||
|
||||
|
||||
@@ -105,13 +105,16 @@
|
||||
#define PACKAGE_NAME "libupnp"
|
||||
|
||||
/* Define to the full name and version of this package. */
|
||||
#define PACKAGE_STRING "libupnp 1.6.12"
|
||||
#define PACKAGE_STRING "libupnp 1.6.20"
|
||||
|
||||
/* Define to the one symbol short name of this package. */
|
||||
#define PACKAGE_TARNAME "libupnp"
|
||||
|
||||
/* Define to the home page for this package. */
|
||||
#define PACKAGE_URL ""
|
||||
|
||||
/* Define to the version of this package. */
|
||||
#define PACKAGE_VERSION "1.6.12"
|
||||
#define PACKAGE_VERSION "1.6.20"
|
||||
|
||||
/* Define to necessary symbol if this constant uses a non-standard name on
|
||||
your system. */
|
||||
@@ -129,6 +132,9 @@
|
||||
/* see upnpconfig.h */
|
||||
#define UPNP_ENABLE_NOTIFICATION_REORDERING 1
|
||||
|
||||
/* see upnpconfig.h */
|
||||
/* #undef UPNP_ENABLE_UNSPECIFIED_SERVER */
|
||||
|
||||
/* see upnpconfig.h */
|
||||
#define UPNP_HAVE_CLIENT 1
|
||||
|
||||
@@ -138,6 +144,18 @@
|
||||
/* see upnpconfig.h */
|
||||
#define UPNP_HAVE_DEVICE 1
|
||||
|
||||
/* see upnpconfig.h */
|
||||
#define UPNP_HAVE_GENA 1
|
||||
|
||||
/* see upnpconfig.h */
|
||||
#define UPNP_HAVE_OPTSSDP 1
|
||||
|
||||
/* see upnpconfig.h */
|
||||
#define UPNP_HAVE_SOAP 1
|
||||
|
||||
/* see upnpconfig.h */
|
||||
#define UPNP_HAVE_SSDP 1
|
||||
|
||||
/* see upnpconfig.h */
|
||||
#define UPNP_HAVE_TOOLS 1
|
||||
|
||||
@@ -154,13 +172,13 @@
|
||||
#define UPNP_VERSION_MINOR 6
|
||||
|
||||
/* see upnpconfig.h */
|
||||
#define UPNP_VERSION_PATCH 12
|
||||
#define UPNP_VERSION_PATCH 20
|
||||
|
||||
/* see upnpconfig.h */
|
||||
#define UPNP_VERSION_STRING "1.6.12"
|
||||
#define UPNP_VERSION_STRING "1.6.20"
|
||||
|
||||
/* Version number of package */
|
||||
#define VERSION "1.6.12"
|
||||
#define VERSION "1.6.20"
|
||||
|
||||
/* File Offset size */
|
||||
#define _FILE_OFFSET_BITS 64
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
***************************************************************************/
|
||||
|
||||
/** The library version (string) e.g. "1.3.0" */
|
||||
#define UPNP_VERSION_STRING "1.6.12"
|
||||
#define UPNP_VERSION_STRING "1.6.20"
|
||||
|
||||
/** Major version of the library */
|
||||
#define UPNP_VERSION_MAJOR 1
|
||||
@@ -49,7 +49,7 @@
|
||||
#define UPNP_VERSION_MINOR 6
|
||||
|
||||
/** Patch version of the library */
|
||||
#define UPNP_VERSION_PATCH 12
|
||||
#define UPNP_VERSION_PATCH 20
|
||||
|
||||
/** The library version (numeric) e.g. 10300 means version 1.3.0 */
|
||||
#define UPNP_VERSION \
|
||||
@@ -100,6 +100,26 @@
|
||||
#define UPNP_HAVE_WEBSERVER 1
|
||||
|
||||
|
||||
/** Defined to 1 if the library has been compiled with the SSDP part enabled
|
||||
* (i.e. configure --enable-ssdp) */
|
||||
#define UPNP_HAVE_SSDP 1
|
||||
|
||||
|
||||
/** Defined to 1 if the library has been compiled with optional SSDP headers
|
||||
* support (i.e. configure --enable-optssdp) */
|
||||
#define UPNP_HAVE_OPTSSDP 1
|
||||
|
||||
|
||||
/** Defined to 1 if the library has been compiled with the SOAP part enabled
|
||||
* (i.e. configure --enable-soap) */
|
||||
#define UPNP_HAVE_SOAP 1
|
||||
|
||||
|
||||
/** Defined to 1 if the library has been compiled with the GENA part enabled
|
||||
* (i.e. configure --enable-gena) */
|
||||
#define UPNP_HAVE_GENA 1
|
||||
|
||||
|
||||
/** Defined to 1 if the library has been compiled with helper API
|
||||
* (i.e. configure --enable-tools) : <upnp/upnptools.h> file is available */
|
||||
#define UPNP_HAVE_TOOLS 1
|
||||
@@ -108,5 +128,9 @@
|
||||
* (i.e. configure --enable-ipv6) */
|
||||
/* #undef UPNP_ENABLE_IPV6 */
|
||||
|
||||
/** Defined to 1 if the library has been compiled with unspecified SERVER
|
||||
* header (i.e. configure --enable-unspecified_server) */
|
||||
/* #undef UPNP_ENABLE_UNSPECIFIED_SERVER */
|
||||
|
||||
#endif /* UPNP_CONFIG_H */
|
||||
|
||||
|
||||
3
build/vc10/.gitignore
vendored
Normal file
3
build/vc10/.gitignore
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
|
||||
*.suo
|
||||
*.user
|
||||
361
build/vc10/ixml.vcxproj
Normal file
361
build/vc10/ixml.vcxproj
Normal file
@@ -0,0 +1,361 @@
|
||||
<?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 Lib|Win32">
|
||||
<Configuration>Debug Lib</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug Lib|x64">
|
||||
<Configuration>Debug Lib</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<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 Lib|Win32">
|
||||
<Configuration>Release Lib</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release Lib|x64">
|
||||
<Configuration>Release Lib</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">
|
||||
<ProjectGuid>{9C2C266D-35A3-465F-A297-0E21D54E5C89}</ProjectGuid>
|
||||
<RootNamespace>ixml</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</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" />
|
||||
</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" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</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" />
|
||||
</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" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\lib\$(ProjectName)\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir>
|
||||
<EnableManagedIncrementalBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</EnableManagedIncrementalBuild>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\lib\$(ProjectName)\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir>
|
||||
<EnableManagedIncrementalBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</EnableManagedIncrementalBuild>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\lib\$(ProjectName)\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir>
|
||||
<EnableManagedIncrementalBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</EnableManagedIncrementalBuild>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\lib\$(ProjectName)\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir>
|
||||
<EnableManagedIncrementalBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</EnableManagedIncrementalBuild>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\lib\$(ProjectName)\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir>
|
||||
<EnableManagedIncrementalBuild Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'">true</EnableManagedIncrementalBuild>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\lib\$(ProjectName)\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir>
|
||||
<EnableManagedIncrementalBuild Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'">true</EnableManagedIncrementalBuild>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\lib\$(ProjectName)\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir>
|
||||
<EnableManagedIncrementalBuild Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'">true</EnableManagedIncrementalBuild>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\lib\$(ProjectName)\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir>
|
||||
<EnableManagedIncrementalBuild Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'">true</EnableManagedIncrementalBuild>
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\ixml\inc;..\..\ixml\src\inc;..\inc;..\..\upnp\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>DEBUG;WIN32;_USRDLL;LIBUPNP_EXPORTS;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<PrecompiledHeaderOutputFile>
|
||||
</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ProgramDataBaseFileName>$(OutDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<AdditionalLibraryDirectories>$(OutDir)..\lib;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Lib>
|
||||
<BuildLog>
|
||||
<Path>$(IntDir)$(MSBuildProjectName).log</Path>
|
||||
</BuildLog>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\ixml\inc;..\..\ixml\src\inc;..\inc;..\..\upnp\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>DEBUG;WIN32;_USRDLL;LIBUPNP_EXPORTS;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<PrecompiledHeaderOutputFile>
|
||||
</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ProgramDataBaseFileName>$(OutDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<AdditionalLibraryDirectories>$(OutDir)..\lib;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>Default</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>..\..\ixml\inc;..\..\ixml\src\inc;..\inc;..\..\upnp\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBUPNP_EXPORTS;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<PrecompiledHeaderOutputFile>
|
||||
</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ProgramDataBaseFileName>$(OutDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<AdditionalLibraryDirectories>$(OutDir)..\lib;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>Default</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>..\..\ixml\inc;..\..\ixml\src\inc;..\inc;..\..\upnp\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBUPNP_EXPORTS;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<PrecompiledHeaderOutputFile>
|
||||
</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ProgramDataBaseFileName>$(OutDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<AdditionalLibraryDirectories>$(OutDir)..\lib;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\ixml\inc;..\..\ixml\src\inc;..\inc;..\..\upnp\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>DEBUG;WIN32;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeaderOutputFile>
|
||||
</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ProgramDataBaseFileName>$(OutDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<AdditionalLibraryDirectories>$(OutDir)..\lib;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\ixml\inc;..\..\ixml\src\inc;..\inc;..\..\upnp\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>DEBUG;WIN32;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeaderOutputFile>
|
||||
</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ProgramDataBaseFileName>$(OutDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<AdditionalLibraryDirectories>$(OutDir)..\lib;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>Default</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>..\..\ixml\inc;..\..\ixml\src\inc;..\inc;..\..\upnp\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;RELEASE;_WINDOWS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<PrecompiledHeaderOutputFile>
|
||||
</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ProgramDataBaseFileName>$(OutDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<AdditionalLibraryDirectories>$(OutDir)..\lib;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>Default</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>..\..\ixml\inc;..\..\ixml\src\inc;..\inc;..\..\upnp\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;RELEASE;_WINDOWS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<PrecompiledHeaderOutputFile>
|
||||
</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ProgramDataBaseFileName>$(OutDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<AdditionalLibraryDirectories>$(OutDir)..\lib;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\ixml\src\attr.c" />
|
||||
<ClCompile Include="..\..\ixml\src\document.c" />
|
||||
<ClCompile Include="..\..\ixml\src\element.c" />
|
||||
<ClCompile Include="..\..\ixml\src\ixml.c" />
|
||||
<ClCompile Include="..\..\ixml\src\ixmldebug.c" />
|
||||
<ClCompile Include="..\..\ixml\src\ixmlmembuf.c" />
|
||||
<ClCompile Include="..\..\ixml\src\ixmlparser.c" />
|
||||
<ClCompile Include="..\..\ixml\src\namedNodeMap.c" />
|
||||
<ClCompile Include="..\..\ixml\src\node.c" />
|
||||
<ClCompile Include="..\..\ixml\src\nodeList.c" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\ixml\inc\ixml.h" />
|
||||
<ClInclude Include="..\..\ixml\inc\ixmldebug.h" />
|
||||
<ClInclude Include="..\..\ixml\src\inc\ixmlmembuf.h" />
|
||||
<ClInclude Include="..\..\ixml\src\inc\ixmlparser.h" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
59
build/vc10/ixml.vcxproj.filters
Normal file
59
build/vc10/ixml.vcxproj.filters
Normal file
@@ -0,0 +1,59 @@
|
||||
<?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>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\ixml\src\attr.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\ixml\src\document.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\ixml\src\element.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\ixml\src\ixml.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\ixml\src\ixmldebug.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\ixml\src\ixmlmembuf.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\ixml\src\ixmlparser.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\ixml\src\namedNodeMap.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\ixml\src\node.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\ixml\src\nodeList.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\ixml\inc\ixml.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\ixml\inc\ixmldebug.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\ixml\src\inc\ixmlmembuf.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\ixml\src\inc\ixmlparser.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
147
build/vc10/libupnp.sln
Normal file
147
build/vc10/libupnp.sln
Normal file
@@ -0,0 +1,147 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||
# Visual Studio 2010
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libupnp", "libupnp.vcxproj", "{6227F51A-1498-4C4A-B213-F6FDED605125}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ixml", "ixml.vcxproj", "{9C2C266D-35A3-465F-A297-0E21D54E5C89}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "threadutil", "threadutil.vcxproj", "{1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tvctrlpt", "tvctrlpt.vcxproj", "{8FB56F1C-E617-4B79-96AE-1FA499A3A9B5}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tvdevice", "tvdevice.vcxproj", "{7FB5F4A6-74F9-471D-B358-BAA0AC1CCA0A}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tvcombo", "tvcombo.vcxproj", "{6365804B-22C6-4D5E-91F3-0C052EB55B4F}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{55AF07A8-18AA-45B8-A231-5082F1C6FC08}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
..\..\AUTHORS = ..\..\AUTHORS
|
||||
..\..\bootstrap = ..\..\bootstrap
|
||||
..\..\ChangeLog = ..\..\ChangeLog
|
||||
..\..\configure.ac = ..\..\configure.ac
|
||||
..\..\COPYING = ..\..\COPYING
|
||||
..\..\Doxyfile = ..\..\Doxyfile
|
||||
..\..\INSTALL = ..\..\INSTALL
|
||||
..\..\libupnp.pc.in = ..\..\libupnp.pc.in
|
||||
..\..\libupnp.spec = ..\..\libupnp.spec
|
||||
..\..\LICENSE = ..\..\LICENSE
|
||||
..\..\Makefile.am = ..\..\Makefile.am
|
||||
..\..\NEWS = ..\..\NEWS
|
||||
..\..\README = ..\..\README
|
||||
..\..\THANKS = ..\..\THANKS
|
||||
..\..\TODO = ..\..\TODO
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug Lib|Win32 = Debug Lib|Win32
|
||||
Debug Lib|x64 = Debug Lib|x64
|
||||
Debug|Win32 = Debug|Win32
|
||||
Debug|x64 = Debug|x64
|
||||
Release Lib|Win32 = Release Lib|Win32
|
||||
Release Lib|x64 = Release Lib|x64
|
||||
Release|Win32 = Release|Win32
|
||||
Release|x64 = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{6227F51A-1498-4C4A-B213-F6FDED605125}.Debug Lib|Win32.ActiveCfg = Debug Lib|Win32
|
||||
{6227F51A-1498-4C4A-B213-F6FDED605125}.Debug Lib|Win32.Build.0 = Debug Lib|Win32
|
||||
{6227F51A-1498-4C4A-B213-F6FDED605125}.Debug Lib|x64.ActiveCfg = Debug Lib|x64
|
||||
{6227F51A-1498-4C4A-B213-F6FDED605125}.Debug Lib|x64.Build.0 = Debug Lib|x64
|
||||
{6227F51A-1498-4C4A-B213-F6FDED605125}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{6227F51A-1498-4C4A-B213-F6FDED605125}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{6227F51A-1498-4C4A-B213-F6FDED605125}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{6227F51A-1498-4C4A-B213-F6FDED605125}.Debug|x64.Build.0 = Debug|x64
|
||||
{6227F51A-1498-4C4A-B213-F6FDED605125}.Release Lib|Win32.ActiveCfg = Release Lib|Win32
|
||||
{6227F51A-1498-4C4A-B213-F6FDED605125}.Release Lib|Win32.Build.0 = Release Lib|Win32
|
||||
{6227F51A-1498-4C4A-B213-F6FDED605125}.Release Lib|x64.ActiveCfg = Release Lib|x64
|
||||
{6227F51A-1498-4C4A-B213-F6FDED605125}.Release Lib|x64.Build.0 = Release Lib|x64
|
||||
{6227F51A-1498-4C4A-B213-F6FDED605125}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{6227F51A-1498-4C4A-B213-F6FDED605125}.Release|Win32.Build.0 = Release|Win32
|
||||
{6227F51A-1498-4C4A-B213-F6FDED605125}.Release|x64.ActiveCfg = Release|x64
|
||||
{6227F51A-1498-4C4A-B213-F6FDED605125}.Release|x64.Build.0 = Release|x64
|
||||
{9C2C266D-35A3-465F-A297-0E21D54E5C89}.Debug Lib|Win32.ActiveCfg = Debug Lib|Win32
|
||||
{9C2C266D-35A3-465F-A297-0E21D54E5C89}.Debug Lib|Win32.Build.0 = Debug Lib|Win32
|
||||
{9C2C266D-35A3-465F-A297-0E21D54E5C89}.Debug Lib|x64.ActiveCfg = Debug Lib|x64
|
||||
{9C2C266D-35A3-465F-A297-0E21D54E5C89}.Debug Lib|x64.Build.0 = Debug Lib|x64
|
||||
{9C2C266D-35A3-465F-A297-0E21D54E5C89}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{9C2C266D-35A3-465F-A297-0E21D54E5C89}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{9C2C266D-35A3-465F-A297-0E21D54E5C89}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{9C2C266D-35A3-465F-A297-0E21D54E5C89}.Debug|x64.Build.0 = Debug|x64
|
||||
{9C2C266D-35A3-465F-A297-0E21D54E5C89}.Release Lib|Win32.ActiveCfg = Release Lib|Win32
|
||||
{9C2C266D-35A3-465F-A297-0E21D54E5C89}.Release Lib|Win32.Build.0 = Release Lib|Win32
|
||||
{9C2C266D-35A3-465F-A297-0E21D54E5C89}.Release Lib|x64.ActiveCfg = Release Lib|x64
|
||||
{9C2C266D-35A3-465F-A297-0E21D54E5C89}.Release Lib|x64.Build.0 = Release Lib|x64
|
||||
{9C2C266D-35A3-465F-A297-0E21D54E5C89}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{9C2C266D-35A3-465F-A297-0E21D54E5C89}.Release|Win32.Build.0 = Release|Win32
|
||||
{9C2C266D-35A3-465F-A297-0E21D54E5C89}.Release|x64.ActiveCfg = Release|x64
|
||||
{9C2C266D-35A3-465F-A297-0E21D54E5C89}.Release|x64.Build.0 = Release|x64
|
||||
{1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.Debug Lib|Win32.ActiveCfg = Debug Lib|Win32
|
||||
{1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.Debug Lib|Win32.Build.0 = Debug Lib|Win32
|
||||
{1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.Debug Lib|x64.ActiveCfg = Debug Lib|x64
|
||||
{1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.Debug Lib|x64.Build.0 = Debug Lib|x64
|
||||
{1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.Debug|x64.Build.0 = Debug|x64
|
||||
{1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.Release Lib|Win32.ActiveCfg = Release Lib|Win32
|
||||
{1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.Release Lib|Win32.Build.0 = Release Lib|Win32
|
||||
{1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.Release Lib|x64.ActiveCfg = Release Lib|x64
|
||||
{1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.Release Lib|x64.Build.0 = Release Lib|x64
|
||||
{1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.Release|Win32.Build.0 = Release|Win32
|
||||
{1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.Release|x64.ActiveCfg = Release|x64
|
||||
{1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.Release|x64.Build.0 = Release|x64
|
||||
{8FB56F1C-E617-4B79-96AE-1FA499A3A9B5}.Debug Lib|Win32.ActiveCfg = Debug Lib|Win32
|
||||
{8FB56F1C-E617-4B79-96AE-1FA499A3A9B5}.Debug Lib|Win32.Build.0 = Debug Lib|Win32
|
||||
{8FB56F1C-E617-4B79-96AE-1FA499A3A9B5}.Debug Lib|x64.ActiveCfg = Debug Lib|x64
|
||||
{8FB56F1C-E617-4B79-96AE-1FA499A3A9B5}.Debug Lib|x64.Build.0 = Debug Lib|x64
|
||||
{8FB56F1C-E617-4B79-96AE-1FA499A3A9B5}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{8FB56F1C-E617-4B79-96AE-1FA499A3A9B5}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{8FB56F1C-E617-4B79-96AE-1FA499A3A9B5}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{8FB56F1C-E617-4B79-96AE-1FA499A3A9B5}.Debug|x64.Build.0 = Debug|x64
|
||||
{8FB56F1C-E617-4B79-96AE-1FA499A3A9B5}.Release Lib|Win32.ActiveCfg = Release Lib|Win32
|
||||
{8FB56F1C-E617-4B79-96AE-1FA499A3A9B5}.Release Lib|Win32.Build.0 = Release Lib|Win32
|
||||
{8FB56F1C-E617-4B79-96AE-1FA499A3A9B5}.Release Lib|x64.ActiveCfg = Release Lib|x64
|
||||
{8FB56F1C-E617-4B79-96AE-1FA499A3A9B5}.Release Lib|x64.Build.0 = Release Lib|x64
|
||||
{8FB56F1C-E617-4B79-96AE-1FA499A3A9B5}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{8FB56F1C-E617-4B79-96AE-1FA499A3A9B5}.Release|Win32.Build.0 = Release|Win32
|
||||
{8FB56F1C-E617-4B79-96AE-1FA499A3A9B5}.Release|x64.ActiveCfg = Release|x64
|
||||
{8FB56F1C-E617-4B79-96AE-1FA499A3A9B5}.Release|x64.Build.0 = Release|x64
|
||||
{7FB5F4A6-74F9-471D-B358-BAA0AC1CCA0A}.Debug Lib|Win32.ActiveCfg = Debug Lib|Win32
|
||||
{7FB5F4A6-74F9-471D-B358-BAA0AC1CCA0A}.Debug Lib|Win32.Build.0 = Debug Lib|Win32
|
||||
{7FB5F4A6-74F9-471D-B358-BAA0AC1CCA0A}.Debug Lib|x64.ActiveCfg = Debug Lib|x64
|
||||
{7FB5F4A6-74F9-471D-B358-BAA0AC1CCA0A}.Debug Lib|x64.Build.0 = Debug Lib|x64
|
||||
{7FB5F4A6-74F9-471D-B358-BAA0AC1CCA0A}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{7FB5F4A6-74F9-471D-B358-BAA0AC1CCA0A}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{7FB5F4A6-74F9-471D-B358-BAA0AC1CCA0A}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{7FB5F4A6-74F9-471D-B358-BAA0AC1CCA0A}.Debug|x64.Build.0 = Debug|x64
|
||||
{7FB5F4A6-74F9-471D-B358-BAA0AC1CCA0A}.Release Lib|Win32.ActiveCfg = Release Lib|Win32
|
||||
{7FB5F4A6-74F9-471D-B358-BAA0AC1CCA0A}.Release Lib|Win32.Build.0 = Release Lib|Win32
|
||||
{7FB5F4A6-74F9-471D-B358-BAA0AC1CCA0A}.Release Lib|x64.ActiveCfg = Release Lib|x64
|
||||
{7FB5F4A6-74F9-471D-B358-BAA0AC1CCA0A}.Release Lib|x64.Build.0 = Release Lib|x64
|
||||
{7FB5F4A6-74F9-471D-B358-BAA0AC1CCA0A}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{7FB5F4A6-74F9-471D-B358-BAA0AC1CCA0A}.Release|Win32.Build.0 = Release|Win32
|
||||
{7FB5F4A6-74F9-471D-B358-BAA0AC1CCA0A}.Release|x64.ActiveCfg = Release|x64
|
||||
{7FB5F4A6-74F9-471D-B358-BAA0AC1CCA0A}.Release|x64.Build.0 = Release|x64
|
||||
{6365804B-22C6-4D5E-91F3-0C052EB55B4F}.Debug Lib|Win32.ActiveCfg = Debug Lib|Win32
|
||||
{6365804B-22C6-4D5E-91F3-0C052EB55B4F}.Debug Lib|Win32.Build.0 = Debug Lib|Win32
|
||||
{6365804B-22C6-4D5E-91F3-0C052EB55B4F}.Debug Lib|x64.ActiveCfg = Debug Lib|x64
|
||||
{6365804B-22C6-4D5E-91F3-0C052EB55B4F}.Debug Lib|x64.Build.0 = Debug Lib|x64
|
||||
{6365804B-22C6-4D5E-91F3-0C052EB55B4F}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{6365804B-22C6-4D5E-91F3-0C052EB55B4F}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{6365804B-22C6-4D5E-91F3-0C052EB55B4F}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{6365804B-22C6-4D5E-91F3-0C052EB55B4F}.Debug|x64.Build.0 = Debug|x64
|
||||
{6365804B-22C6-4D5E-91F3-0C052EB55B4F}.Release Lib|Win32.ActiveCfg = Release Lib|Win32
|
||||
{6365804B-22C6-4D5E-91F3-0C052EB55B4F}.Release Lib|Win32.Build.0 = Release Lib|Win32
|
||||
{6365804B-22C6-4D5E-91F3-0C052EB55B4F}.Release Lib|x64.ActiveCfg = Release Lib|x64
|
||||
{6365804B-22C6-4D5E-91F3-0C052EB55B4F}.Release Lib|x64.Build.0 = Release Lib|x64
|
||||
{6365804B-22C6-4D5E-91F3-0C052EB55B4F}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{6365804B-22C6-4D5E-91F3-0C052EB55B4F}.Release|Win32.Build.0 = Release|Win32
|
||||
{6365804B-22C6-4D5E-91F3-0C052EB55B4F}.Release|x64.ActiveCfg = Release|x64
|
||||
{6365804B-22C6-4D5E-91F3-0C052EB55B4F}.Release|x64.Build.0 = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
706
build/vc10/libupnp.vcxproj
Normal file
706
build/vc10/libupnp.vcxproj
Normal file
@@ -0,0 +1,706 @@
|
||||
<?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 Lib|Win32">
|
||||
<Configuration>Debug Lib</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug Lib|x64">
|
||||
<Configuration>Debug Lib</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<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 Lib|Win32">
|
||||
<Configuration>Release Lib</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release Lib|x64">
|
||||
<Configuration>Release Lib</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">
|
||||
<ProjectGuid>{6227F51A-1498-4C4A-B213-F6FDED605125}</ProjectGuid>
|
||||
<RootNamespace>libupnp</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</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" />
|
||||
</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" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</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" />
|
||||
</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" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\bin\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\bin\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\bin\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\bin\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\lib\$(ProjectName)\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'">$(SolutionDir)\out.vc10.$(Platform)\$(Configuration)\lib\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\lib\$(ProjectName)\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'">$(SolutionDir)\out.vc10.$(Platform)\$(Configuration)\lib\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir>
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MkTypLibCompatible>true</MkTypLibCompatible>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<TargetEnvironment>Win32</TargetEnvironment>
|
||||
<TypeLibraryName>.\Release/libupnp.tlb</TypeLibraryName>
|
||||
<HeaderFileName>
|
||||
</HeaderFileName>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>Default</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<AdditionalIncludeDirectories>..\inc;..\msvc;..\..\upnp\inc;..\..\upnp\src\inc;..\..\ixml\inc;..\..\ixml\src\inc;..\..\threadutil\inc;..\..\pthreads;..\..\pthreads\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBUPNP_EXPORTS;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<PrecompiledHeaderOutputFile>
|
||||
</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||
<BrowseInformation>
|
||||
</BrowseInformation>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0407</Culture>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>pthreadvc2.lib;ws2_32.lib;iphlpapi.lib;ixml.lib;threadutil.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>$(OutDir)$(ProjectName).dll</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib\ixml;$(OutDir)..\lib\threadutil;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
<ImportLibrary>$(TargetDir)$(TargetName).lib</ImportLibrary>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
<Bscmake>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<OutputFile>.\Release/libupnp.bsc</OutputFile>
|
||||
</Bscmake>
|
||||
<PostBuildEvent>
|
||||
<Command>
|
||||
</Command>
|
||||
<Message>Add pthreadVC2.dll to output</Message>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MkTypLibCompatible>true</MkTypLibCompatible>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
<TypeLibraryName>.\Release/libupnp.tlb</TypeLibraryName>
|
||||
<HeaderFileName>
|
||||
</HeaderFileName>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>Default</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)\..\inc;$(SolutionDir)\..\msvc;$(SolutionDir)\..\..\upnp\inc;$(SolutionDir)\..\..\upnp\src\inc;$(SolutionDir)\..\..\ixml\inc;$(SolutionDir)\..\..\ixml\src\inc;$(SolutionDir)\..\..\threadutil\inc;$(SolutionDir)\..\..\pthreads;$(SolutionDir)\..\..\pthreads\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBUPNP_EXPORTS;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<PrecompiledHeaderOutputFile>
|
||||
</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||
<BrowseInformation>
|
||||
</BrowseInformation>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0407</Culture>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>pthreadvc2.lib;ws2_32.lib;iphlpapi.lib;ixml.lib;threadutil.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>$(OutDir)$(ProjectName).dll</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib\ixml;$(OutDir)..\lib\threadutil;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
<ImportLibrary>$(TargetDir)$(TargetName).lib</ImportLibrary>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
<Bscmake>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<OutputFile>.\Release/libupnp.bsc</OutputFile>
|
||||
</Bscmake>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MkTypLibCompatible>true</MkTypLibCompatible>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<TargetEnvironment>Win32</TargetEnvironment>
|
||||
<TypeLibraryName>.\Debug/libupnp.tlb</TypeLibraryName>
|
||||
<HeaderFileName>
|
||||
</HeaderFileName>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\inc;..\msvc;..\..\upnp\inc;..\..\upnp\src\inc;..\..\ixml\inc;..\..\ixml\src\inc;..\..\threadutil\inc;..\..\pthreads;..\..\pthreads\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>DEBUG;WIN32;_USRDLL;LIBUPNP_EXPORTS;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<PrecompiledHeaderOutputFile>
|
||||
</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||
<BrowseInformation>
|
||||
</BrowseInformation>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0407</Culture>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>pthreadvc2.lib;ws2_32.lib;iphlpapi.lib;ixml.lib;threadutil.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>$(OutDir)$(ProjectName).dll</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib\ixml;$(OutDir)..\lib\threadutil;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
<ImportLibrary>$(TargetDir)$(TargetName).lib</ImportLibrary>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
<Bscmake>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<OutputFile>$(OutDir)libupnp.bsc</OutputFile>
|
||||
</Bscmake>
|
||||
<BuildLog>
|
||||
<Path>$(IntDir)$(MSBuildProjectName).log</Path>
|
||||
</BuildLog>
|
||||
<PostBuildEvent />
|
||||
<PostBuildEvent>
|
||||
<Message>
|
||||
</Message>
|
||||
<Command>
|
||||
</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MkTypLibCompatible>true</MkTypLibCompatible>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
<TypeLibraryName>.\Debug/libupnp.tlb</TypeLibraryName>
|
||||
<HeaderFileName>
|
||||
</HeaderFileName>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)\..\inc;$(SolutionDir)\..\msvc;$(SolutionDir)\..\..\upnp\inc;$(SolutionDir)\..\..\upnp\src\inc;$(SolutionDir)\..\..\ixml\inc;$(SolutionDir)\..\..\ixml\src\inc;$(SolutionDir)\..\..\threadutil\inc;$(SolutionDir)\..\..\pthreads;$(SolutionDir)\..\..\pthreads\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>DEBUG;WIN32;_USRDLL;LIBUPNP_EXPORTS;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<PrecompiledHeaderOutputFile>
|
||||
</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||
<BrowseInformation>
|
||||
</BrowseInformation>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0407</Culture>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>pthreadvc2.lib;ws2_32.lib;iphlpapi.lib;ixml.lib;threadutil.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>$(OutDir)$(ProjectName).dll</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib\ixml;$(OutDir)..\lib\threadutil;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
<ImportLibrary>$(TargetDir)$(TargetName).lib</ImportLibrary>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
<Bscmake>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<OutputFile>$(OutDir)libupnp.bsc</OutputFile>
|
||||
</Bscmake>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'">
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MkTypLibCompatible>true</MkTypLibCompatible>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<TargetEnvironment>Win32</TargetEnvironment>
|
||||
<TypeLibraryName>.\Debug/libupnp.tlb</TypeLibraryName>
|
||||
<HeaderFileName>
|
||||
</HeaderFileName>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\inc;..\msvc;..\..\upnp\inc;..\..\upnp\src\inc;..\..\ixml\inc;..\..\ixml\src\inc;..\..\threadutil\inc;..\..\pthreads;..\..\pthreads\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;DEBUG;_WINDOWS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeaderOutputFile>
|
||||
</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(OutDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||
<BrowseInformation>
|
||||
</BrowseInformation>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0407</Culture>
|
||||
</ResourceCompile>
|
||||
<Lib>
|
||||
<AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib\ixml;$(OutDir)..\lib\threadutil;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Lib>
|
||||
<Bscmake>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<OutputFile>$(OutDir)libupnp.bsc</OutputFile>
|
||||
</Bscmake>
|
||||
<PostBuildEvent>
|
||||
<Command>
|
||||
</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'">
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MkTypLibCompatible>true</MkTypLibCompatible>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
<TypeLibraryName>.\Debug/libupnp.tlb</TypeLibraryName>
|
||||
<HeaderFileName>
|
||||
</HeaderFileName>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)\..\inc;$(SolutionDir)\..\msvc;$(SolutionDir)\..\..\upnp\inc;$(SolutionDir)\..\..\upnp\src\inc;$(SolutionDir)\..\..\ixml\inc;$(SolutionDir)\..\..\ixml\src\inc;$(SolutionDir)\..\..\threadutil\inc;$(SolutionDir)\..\..\pthreads;$(SolutionDir)\..\..\pthreads\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;DEBUG;_WINDOWS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeaderOutputFile>
|
||||
</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(OutDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||
<BrowseInformation>
|
||||
</BrowseInformation>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0407</Culture>
|
||||
</ResourceCompile>
|
||||
<Lib>
|
||||
<AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib\ixml;$(OutDir)..\lib\threadutil;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Lib>
|
||||
<Bscmake>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<OutputFile>$(OutDir)libupnp.bsc</OutputFile>
|
||||
</Bscmake>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'">
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MkTypLibCompatible>true</MkTypLibCompatible>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<TargetEnvironment>Win32</TargetEnvironment>
|
||||
<TypeLibraryName>.\Release/libupnp.tlb</TypeLibraryName>
|
||||
<HeaderFileName>
|
||||
</HeaderFileName>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>Default</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<AdditionalIncludeDirectories>..\inc;..\msvc;..\..\upnp\inc;..\..\upnp\src\inc;..\..\ixml\inc;..\..\ixml\src\inc;..\..\threadutil\inc;..\..\pthreads;..\..\pthreads\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;RELEASE;_WINDOWS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<PrecompiledHeaderOutputFile>
|
||||
</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(OutDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||
<BrowseInformation>
|
||||
</BrowseInformation>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0407</Culture>
|
||||
</ResourceCompile>
|
||||
<Lib>
|
||||
<AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib\ixml;$(OutDir)..\lib\threadutil;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Lib>
|
||||
<Bscmake>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<OutputFile>.\Release/libupnp.bsc</OutputFile>
|
||||
</Bscmake>
|
||||
<PostBuildEvent>
|
||||
<Command>
|
||||
</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'">
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MkTypLibCompatible>true</MkTypLibCompatible>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
<TypeLibraryName>.\Release/libupnp.tlb</TypeLibraryName>
|
||||
<HeaderFileName>
|
||||
</HeaderFileName>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>Default</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)\..\inc;$(SolutionDir)\..\msvc;$(SolutionDir)\..\..\upnp\inc;$(SolutionDir)\..\..\upnp\src\inc;$(SolutionDir)\..\..\ixml\inc;$(SolutionDir)\..\..\ixml\src\inc;$(SolutionDir)\..\..\threadutil\inc;$(SolutionDir)\..\..\pthreads;$(SolutionDir)\..\..\pthreads\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;RELEASE;_WINDOWS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<PrecompiledHeaderOutputFile>
|
||||
</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(OutDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||
<BrowseInformation>
|
||||
</BrowseInformation>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0407</Culture>
|
||||
</ResourceCompile>
|
||||
<Lib>
|
||||
<AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib\ixml;$(OutDir)..\lib\threadutil;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Lib>
|
||||
<Bscmake>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<OutputFile>.\Release/libupnp.bsc</OutputFile>
|
||||
</Bscmake>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\upnp\src\api\ActionComplete.c" />
|
||||
<ClCompile Include="..\..\upnp\src\api\ActionRequest.c" />
|
||||
<ClCompile Include="..\..\ixml\src\attr.c" />
|
||||
<ClCompile Include="..\..\upnp\src\genlib\client_table\client_table.c" />
|
||||
<ClCompile Include="..\..\upnp\src\genlib\client_table\ClientSubscription.c" />
|
||||
<ClCompile Include="..\..\upnp\src\api\Discovery.c" />
|
||||
<ClCompile Include="..\..\ixml\src\document.c" />
|
||||
<ClCompile Include="..\..\ixml\src\element.c" />
|
||||
<ClCompile Include="..\..\upnp\src\api\Event.c" />
|
||||
<ClCompile Include="..\..\upnp\src\api\EventSubscribe.c" />
|
||||
<ClCompile Include="..\..\upnp\src\api\FileInfo.c" />
|
||||
<ClCompile Include="..\..\threadutil\src\FreeList.c" />
|
||||
<ClCompile Include="..\..\upnp\src\gena\gena_callback2.c" />
|
||||
<ClCompile Include="..\..\upnp\src\gena\gena_ctrlpt.c" />
|
||||
<ClCompile Include="..\..\upnp\src\gena\gena_device.c" />
|
||||
<ClCompile Include="..\..\upnp\src\genlib\net\http\httpparser.c" />
|
||||
<ClCompile Include="..\..\upnp\src\genlib\net\http\httpreadwrite.c" />
|
||||
<ClCompile Include="..\..\ixml\src\ixml.c" />
|
||||
<ClCompile Include="..\..\ixml\src\ixmlmembuf.c" />
|
||||
<ClCompile Include="..\..\ixml\src\ixmlparser.c" />
|
||||
<ClCompile Include="..\..\threadutil\src\LinkedList.c" />
|
||||
<ClCompile Include="..\..\upnp\src\uuid\md5.c" />
|
||||
<ClCompile Include="..\..\upnp\src\genlib\util\membuffer.c" />
|
||||
<ClCompile Include="..\..\upnp\src\genlib\miniserver\miniserver.c" />
|
||||
<ClCompile Include="..\..\ixml\src\namedNodeMap.c" />
|
||||
<ClCompile Include="..\..\ixml\src\node.c" />
|
||||
<ClCompile Include="..\..\ixml\src\nodeList.c" />
|
||||
<ClCompile Include="..\..\upnp\src\genlib\net\http\parsetools.c" />
|
||||
<ClCompile Include="..\..\upnp\src\genlib\service_table\service_table.c" />
|
||||
<ClCompile Include="..\..\upnp\src\soap\soap_common.c" />
|
||||
<ClCompile Include="..\..\upnp\src\soap\soap_ctrlpt.c" />
|
||||
<ClCompile Include="..\..\upnp\src\soap\soap_device.c" />
|
||||
<ClCompile Include="..\..\upnp\src\genlib\net\sock.c" />
|
||||
<ClCompile Include="..\..\upnp\src\ssdp\ssdp_ctrlpt.c" />
|
||||
<ClCompile Include="..\..\upnp\src\ssdp\ssdp_device.c" />
|
||||
<ClCompile Include="..\..\upnp\src\ssdp\ssdp_ResultData.c" />
|
||||
<ClCompile Include="..\..\upnp\src\ssdp\ssdp_server.c" />
|
||||
<ClCompile Include="..\..\upnp\src\genlib\net\http\statcodes.c" />
|
||||
<ClCompile Include="..\..\upnp\src\api\StateVarComplete.c" />
|
||||
<ClCompile Include="..\..\upnp\src\api\StateVarRequest.c" />
|
||||
<ClCompile Include="..\..\upnp\src\genlib\util\strintmap.c" />
|
||||
<ClCompile Include="..\..\upnp\src\api\SubscriptionRequest.c" />
|
||||
<ClCompile Include="..\..\upnp\src\uuid\sysdep.c" />
|
||||
<ClCompile Include="..\..\threadutil\src\ThreadPool.c" />
|
||||
<ClCompile Include="..\..\threadutil\src\TimerThread.c" />
|
||||
<ClCompile Include="..\..\upnp\src\genlib\util\upnp_timeout.c" />
|
||||
<ClCompile Include="..\..\upnp\src\api\upnpapi.c" />
|
||||
<ClCompile Include="..\..\upnp\src\api\upnpdebug.c" />
|
||||
<ClCompile Include="..\..\upnp\src\api\UpnpString.c" />
|
||||
<ClCompile Include="..\..\upnp\src\api\upnptools.c" />
|
||||
<ClCompile Include="..\..\upnp\src\genlib\net\uri\uri.c" />
|
||||
<ClCompile Include="..\..\upnp\src\urlconfig\urlconfig.c" />
|
||||
<ClCompile Include="..\..\upnp\src\genlib\util\util.c" />
|
||||
<ClCompile Include="..\..\upnp\src\uuid\uuid.c" />
|
||||
<ClCompile Include="..\..\upnp\src\genlib\net\http\webserver.c" />
|
||||
<ClCompile Include="..\..\upnp\src\win_dll.c" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\upnp\inc\ActionComplete.h" />
|
||||
<ClInclude Include="..\..\upnp\inc\ActionRequest.h" />
|
||||
<ClInclude Include="..\inc\autoconfig.h" />
|
||||
<ClInclude Include="..\..\upnp\inc\Callback.h" />
|
||||
<ClInclude Include="..\..\upnp\src\inc\client_table.h" />
|
||||
<ClInclude Include="..\..\upnp\src\inc\config.h" />
|
||||
<ClInclude Include="..\..\upnp\inc\Discovery.h" />
|
||||
<ClInclude Include="..\..\upnp\inc\Event.h" />
|
||||
<ClInclude Include="..\..\upnp\inc\EventSubscribe.h" />
|
||||
<ClInclude Include="..\..\upnp\inc\FileInfo.h" />
|
||||
<ClInclude Include="..\..\upnp\src\inc\gena.h" />
|
||||
<ClInclude Include="..\..\upnp\src\inc\gena_ctrlpt.h" />
|
||||
<ClInclude Include="..\..\upnp\src\inc\gena_device.h" />
|
||||
<ClInclude Include="..\..\upnp\src\inc\global.h" />
|
||||
<ClInclude Include="..\..\upnp\src\inc\gmtdate.h" />
|
||||
<ClInclude Include="..\..\upnp\src\inc\httpparser.h" />
|
||||
<ClInclude Include="..\..\upnp\src\inc\httpreadwrite.h" />
|
||||
<ClInclude Include="..\msvc\inttypes.h" />
|
||||
<ClInclude Include="..\..\upnp\src\inc\md5.h" />
|
||||
<ClInclude Include="..\..\upnp\src\inc\membuffer.h" />
|
||||
<ClInclude Include="..\..\upnp\src\inc\miniserver.h" />
|
||||
<ClInclude Include="..\..\upnp\src\inc\netall.h" />
|
||||
<ClInclude Include="..\..\upnp\src\inc\parsetools.h" />
|
||||
<ClInclude Include="..\..\upnp\src\inc\server.h" />
|
||||
<ClInclude Include="..\..\upnp\src\inc\service_table.h" />
|
||||
<ClInclude Include="..\..\upnp\src\inc\soaplib.h" />
|
||||
<ClInclude Include="..\..\upnp\src\inc\sock.h" />
|
||||
<ClInclude Include="..\..\upnp\src\ssdp\ssdp_ResultData.h" />
|
||||
<ClInclude Include="..\..\upnp\src\inc\ssdplib.h" />
|
||||
<ClInclude Include="..\..\upnp\src\inc\statcodes.h" />
|
||||
<ClInclude Include="..\..\upnp\inc\StateVarComplete.h" />
|
||||
<ClInclude Include="..\..\upnp\inc\StateVarRequest.h" />
|
||||
<ClInclude Include="..\..\upnp\src\inc\statuscodes.h" />
|
||||
<ClInclude Include="..\msvc\stdint.h" />
|
||||
<ClInclude Include="..\..\upnp\src\inc\strintmap.h" />
|
||||
<ClInclude Include="..\..\upnp\inc\SubscriptionRequest.h" />
|
||||
<ClInclude Include="..\..\upnp\src\inc\sysdep.h" />
|
||||
<ClInclude Include="..\..\upnp\inc\TemplateInclude.h" />
|
||||
<ClInclude Include="..\..\upnp\inc\TemplateSource.h" />
|
||||
<ClInclude Include="..\..\upnp\inc\TemplateUndef.h" />
|
||||
<ClInclude Include="..\..\upnp\src\inc\unixutil.h" />
|
||||
<ClInclude Include="..\..\upnp\inc\upnp.h" />
|
||||
<ClInclude Include="..\..\upnp\src\inc\upnp_timeout.h" />
|
||||
<ClInclude Include="..\..\upnp\src\inc\upnpapi.h" />
|
||||
<ClInclude Include="..\inc\upnpconfig.h" />
|
||||
<ClInclude Include="..\..\upnp\inc\upnpdebug.h" />
|
||||
<ClInclude Include="..\..\upnp\inc\UpnpGlobal.h" />
|
||||
<ClInclude Include="..\..\upnp\inc\UpnpInet.h" />
|
||||
<ClInclude Include="..\..\upnp\inc\UpnpIntTypes.h" />
|
||||
<ClInclude Include="..\..\upnp\inc\UpnpStdInt.h" />
|
||||
<ClInclude Include="..\..\upnp\inc\UpnpString.h" />
|
||||
<ClInclude Include="..\..\upnp\inc\upnptools.h" />
|
||||
<ClInclude Include="..\..\upnp\inc\UpnpUniStd.h" />
|
||||
<ClInclude Include="..\..\upnp\src\inc\upnputil.h" />
|
||||
<ClInclude Include="..\..\upnp\src\inc\uri.h" />
|
||||
<ClInclude Include="..\..\upnp\src\inc\urlconfig.h" />
|
||||
<ClInclude Include="..\..\upnp\src\inc\uuid.h" />
|
||||
<ClInclude Include="..\..\upnp\src\inc\VirtualDir.h" />
|
||||
<ClInclude Include="..\..\upnp\src\inc\webserver.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="ixml.vcxproj">
|
||||
<Project>{9c2c266d-35a3-465f-a297-0e21d54e5c89}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="threadutil.vcxproj">
|
||||
<Project>{1d3eef7a-d248-48c0-b6b5-eca229fe4b3d}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
362
build/vc10/libupnp.vcxproj.filters
Normal file
362
build/vc10/libupnp.vcxproj.filters
Normal file
@@ -0,0 +1,362 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="sources">
|
||||
<UniqueIdentifier>{47d40159-145c-4ff3-98f5-9b2c96c80092}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="headers">
|
||||
<UniqueIdentifier>{2a8d348a-a429-4b41-9934-050df3866f50}</UniqueIdentifier>
|
||||
<Extensions>h;hpp;hxx;hm;inl</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\upnp\src\api\ActionComplete.c">
|
||||
<Filter>sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\upnp\src\api\ActionRequest.c">
|
||||
<Filter>sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\ixml\src\attr.c">
|
||||
<Filter>sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\upnp\src\genlib\client_table\client_table.c">
|
||||
<Filter>sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\upnp\src\genlib\client_table\ClientSubscription.c">
|
||||
<Filter>sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\upnp\src\api\Discovery.c">
|
||||
<Filter>sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\ixml\src\document.c">
|
||||
<Filter>sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\ixml\src\element.c">
|
||||
<Filter>sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\upnp\src\api\Event.c">
|
||||
<Filter>sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\upnp\src\api\EventSubscribe.c">
|
||||
<Filter>sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\upnp\src\api\FileInfo.c">
|
||||
<Filter>sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\threadutil\src\FreeList.c">
|
||||
<Filter>sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\upnp\src\gena\gena_callback2.c">
|
||||
<Filter>sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\upnp\src\gena\gena_ctrlpt.c">
|
||||
<Filter>sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\upnp\src\gena\gena_device.c">
|
||||
<Filter>sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\upnp\src\genlib\net\http\httpparser.c">
|
||||
<Filter>sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\upnp\src\genlib\net\http\httpreadwrite.c">
|
||||
<Filter>sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\ixml\src\ixml.c">
|
||||
<Filter>sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\ixml\src\ixmlmembuf.c">
|
||||
<Filter>sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\ixml\src\ixmlparser.c">
|
||||
<Filter>sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\threadutil\src\LinkedList.c">
|
||||
<Filter>sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\upnp\src\uuid\md5.c">
|
||||
<Filter>sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\upnp\src\genlib\util\membuffer.c">
|
||||
<Filter>sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\upnp\src\genlib\miniserver\miniserver.c">
|
||||
<Filter>sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\ixml\src\namedNodeMap.c">
|
||||
<Filter>sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\ixml\src\node.c">
|
||||
<Filter>sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\ixml\src\nodeList.c">
|
||||
<Filter>sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\upnp\src\genlib\net\http\parsetools.c">
|
||||
<Filter>sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\upnp\src\genlib\service_table\service_table.c">
|
||||
<Filter>sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\upnp\src\soap\soap_common.c">
|
||||
<Filter>sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\upnp\src\soap\soap_ctrlpt.c">
|
||||
<Filter>sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\upnp\src\soap\soap_device.c">
|
||||
<Filter>sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\upnp\src\genlib\net\sock.c">
|
||||
<Filter>sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\upnp\src\ssdp\ssdp_ctrlpt.c">
|
||||
<Filter>sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\upnp\src\ssdp\ssdp_device.c">
|
||||
<Filter>sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\upnp\src\ssdp\ssdp_ResultData.c">
|
||||
<Filter>sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\upnp\src\ssdp\ssdp_server.c">
|
||||
<Filter>sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\upnp\src\genlib\net\http\statcodes.c">
|
||||
<Filter>sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\upnp\src\api\StateVarComplete.c">
|
||||
<Filter>sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\upnp\src\api\StateVarRequest.c">
|
||||
<Filter>sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\upnp\src\genlib\util\strintmap.c">
|
||||
<Filter>sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\upnp\src\api\SubscriptionRequest.c">
|
||||
<Filter>sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\upnp\src\uuid\sysdep.c">
|
||||
<Filter>sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\threadutil\src\ThreadPool.c">
|
||||
<Filter>sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\threadutil\src\TimerThread.c">
|
||||
<Filter>sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\upnp\src\genlib\util\upnp_timeout.c">
|
||||
<Filter>sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\upnp\src\api\upnpapi.c">
|
||||
<Filter>sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\upnp\src\api\upnpdebug.c">
|
||||
<Filter>sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\upnp\src\api\UpnpString.c">
|
||||
<Filter>sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\upnp\src\api\upnptools.c">
|
||||
<Filter>sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\upnp\src\genlib\net\uri\uri.c">
|
||||
<Filter>sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\upnp\src\urlconfig\urlconfig.c">
|
||||
<Filter>sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\upnp\src\genlib\util\util.c">
|
||||
<Filter>sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\upnp\src\uuid\uuid.c">
|
||||
<Filter>sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\upnp\src\genlib\net\http\webserver.c">
|
||||
<Filter>sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\upnp\src\win_dll.c">
|
||||
<Filter>sources</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\upnp\inc\ActionComplete.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\upnp\inc\ActionRequest.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\inc\autoconfig.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\upnp\inc\Callback.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\upnp\src\inc\client_table.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\upnp\src\inc\config.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\upnp\inc\Discovery.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\upnp\inc\Event.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\upnp\inc\EventSubscribe.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\upnp\inc\FileInfo.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\upnp\src\inc\gena.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\upnp\src\inc\gena_ctrlpt.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\upnp\src\inc\gena_device.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\upnp\src\inc\global.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\upnp\src\inc\gmtdate.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\upnp\src\inc\httpparser.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\upnp\src\inc\httpreadwrite.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\msvc\inttypes.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\upnp\src\inc\md5.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\upnp\src\inc\membuffer.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\upnp\src\inc\miniserver.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\upnp\src\inc\netall.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\upnp\src\inc\parsetools.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\upnp\src\inc\server.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\upnp\src\inc\service_table.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\upnp\src\inc\soaplib.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\upnp\src\inc\sock.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\upnp\src\ssdp\ssdp_ResultData.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\upnp\src\inc\ssdplib.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\upnp\src\inc\statcodes.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\upnp\inc\StateVarComplete.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\upnp\inc\StateVarRequest.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\upnp\src\inc\statuscodes.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\msvc\stdint.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\upnp\src\inc\strintmap.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\upnp\inc\SubscriptionRequest.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\upnp\src\inc\sysdep.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\upnp\inc\TemplateInclude.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\upnp\inc\TemplateSource.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\upnp\inc\TemplateUndef.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\upnp\src\inc\unixutil.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\upnp\inc\upnp.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\upnp\src\inc\upnp_timeout.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\upnp\src\inc\upnpapi.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\inc\upnpconfig.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\upnp\inc\upnpdebug.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\upnp\inc\UpnpGlobal.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\upnp\inc\UpnpInet.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\upnp\inc\UpnpIntTypes.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\upnp\inc\UpnpStdInt.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\upnp\inc\UpnpString.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\upnp\inc\upnptools.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\upnp\inc\UpnpUniStd.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\upnp\src\inc\upnputil.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\upnp\src\inc\uri.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\upnp\src\inc\urlconfig.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\upnp\src\inc\uuid.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\upnp\src\inc\VirtualDir.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\upnp\src\inc\webserver.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
332
build/vc10/threadutil.vcxproj
Normal file
332
build/vc10/threadutil.vcxproj
Normal file
@@ -0,0 +1,332 @@
|
||||
<?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 Lib|Win32">
|
||||
<Configuration>Debug Lib</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug Lib|x64">
|
||||
<Configuration>Debug Lib</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<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 Lib|Win32">
|
||||
<Configuration>Release Lib</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release Lib|x64">
|
||||
<Configuration>Release Lib</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">
|
||||
<ProjectGuid>{1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}</ProjectGuid>
|
||||
<RootNamespace>threadutil</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</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" />
|
||||
</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" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</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" />
|
||||
</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" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\lib\$(ProjectName)\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\lib\$(ProjectName)\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\lib\$(ProjectName)\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\lib\$(ProjectName)\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\lib\$(ProjectName)\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\lib\$(ProjectName)\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\lib\$(ProjectName)\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\lib\$(ProjectName)\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir>
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\threadutil\inc;..\..\upnp\inc;..\..\pthreads;..\..\pthreads\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>DEBUG;WIN32;_USRDLL;LIBUPNP_EXPORTS;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ProgramDataBaseFileName>$(OutDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Lib>
|
||||
<BuildLog>
|
||||
<Path>$(IntDir)$(MSBuildProjectName).log</Path>
|
||||
</BuildLog>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\threadutil\inc;..\..\upnp\inc;..\..\pthreads;..\..\pthreads\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>DEBUG;WIN32;_USRDLL;LIBUPNP_EXPORTS;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ProgramDataBaseFileName>$(OutDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>Default</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>..\..\threadutil\inc;..\..\upnp\inc;..\..\pthreads;..\..\pthreads\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBUPNP_EXPORTS;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ProgramDataBaseFileName>$(OutDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>Default</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>..\..\threadutil\inc;..\..\upnp\inc;..\..\pthreads;..\..\pthreads\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBUPNP_EXPORTS;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ProgramDataBaseFileName>$(OutDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\threadutil\inc;..\..\upnp\inc;..\..\pthreads;..\..\pthreads\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>DEBUG;WIN32;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ProgramDataBaseFileName>$(OutDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\threadutil\inc;..\..\upnp\inc;..\..\pthreads;..\..\pthreads\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>DEBUG;WIN32;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ProgramDataBaseFileName>$(OutDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>Default</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>..\..\threadutil\inc;..\..\upnp\inc;..\..\pthreads;..\..\pthreads\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;RELEASE;_WINDOWS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ProgramDataBaseFileName>$(OutDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>Default</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>..\..\threadutil\inc;..\..\upnp\inc;..\..\pthreads;..\..\pthreads\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;RELEASE;_WINDOWS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ProgramDataBaseFileName>$(OutDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\threadutil\src\FreeList.c" />
|
||||
<ClCompile Include="..\..\threadutil\src\LinkedList.c" />
|
||||
<ClCompile Include="..\..\threadutil\src\ThreadPool.c" />
|
||||
<ClCompile Include="..\..\threadutil\src\TimerThread.c" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\threadutil\inc\FreeList.h" />
|
||||
<ClInclude Include="..\..\threadutil\inc\ithread.h" />
|
||||
<ClInclude Include="..\..\threadutil\inc\LinkedList.h" />
|
||||
<ClInclude Include="..\..\threadutil\inc\threadpool.h" />
|
||||
<ClInclude Include="..\..\threadutil\inc\TimerThread.h" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
44
build/vc10/threadutil.vcxproj.filters
Normal file
44
build/vc10/threadutil.vcxproj.filters
Normal file
@@ -0,0 +1,44 @@
|
||||
<?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>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\threadutil\src\FreeList.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\threadutil\src\LinkedList.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\threadutil\src\ThreadPool.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\threadutil\src\TimerThread.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\threadutil\inc\FreeList.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\threadutil\inc\ithread.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\threadutil\inc\LinkedList.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\threadutil\inc\threadpool.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\threadutil\inc\TimerThread.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
416
build/vc10/tvcombo.vcxproj
Normal file
416
build/vc10/tvcombo.vcxproj
Normal file
@@ -0,0 +1,416 @@
|
||||
<?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 Lib|Win32">
|
||||
<Configuration>Debug Lib</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug Lib|x64">
|
||||
<Configuration>Debug Lib</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<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 Lib|Win32">
|
||||
<Configuration>Release Lib</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release Lib|x64">
|
||||
<Configuration>Release Lib</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">
|
||||
<ProjectGuid>{6365804B-22C6-4D5E-91F3-0C052EB55B4F}</ProjectGuid>
|
||||
<RootNamespace>tvcombo</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</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" />
|
||||
</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" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</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" />
|
||||
</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" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\bin\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\bin\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\bin\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\bin\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\bin\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'">false</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\bin\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'">false</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\bin\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'">false</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\bin\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'">false</LinkIncremental>
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\upnp\inc;..\..\upnp\sample\common;..\..\upnp\sample;..\..\ixml\inc;..\..\pthreads;..\..\pthreads\include;..\inc;..\..\threadutil\inc;..\..\upnp\sample\tvcombo;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;DEBUG;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>pthreadVC2.lib;ixml.lib;threadutil.lib;libupnp.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib\libupnp;$(OutDir)..\lib\threadutil;$(OutDir)..\lib\ixml;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
<BuildLog>
|
||||
<Path>$(IntDir)$(MSBuildProjectName).log</Path>
|
||||
</BuildLog>
|
||||
<PostBuildEvent>
|
||||
<Command>copy "$(SolutionDir)..\..\pthreads\lib\pthread*.dll" "$(OutDir)"
|
||||
mkdir "$(OutDir)web"
|
||||
xcopy "$(SolutionDir)..\..\upnp\sample\web" "$(OutDir)web" /S /E /Y
|
||||
</Command>
|
||||
<Message>Copy sample web folder and pthreadVC2.dll to output dir</Message>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\upnp\inc;..\..\upnp\sample\common;..\..\upnp\sample;..\..\ixml\inc;..\..\pthreads;..\..\pthreads\include;..\inc;..\..\threadutil\inc;..\..\upnp\sample\tvcombo;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;DEBUG;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>pthreadVC2.lib;ixml.lib;threadutil.lib;libupnp.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>..\..\upnp\inc;..\..\upnp\sample\common;..\..\upnp\sample;..\..\ixml\inc;..\..\pthreads;..\..\pthreads\include;..\inc;..\..\threadutil\inc;..\..\upnp\sample\tvcombo;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;RELEASE;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>pthreadVC2.lib;ixml.lib;threadutil.lib;libupnp.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib\libupnp;$(OutDir)..\lib\threadutil;$(OutDir)..\lib\ixml;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>copy "$(SolutionDir)..\..\pthreads\lib\pthread*.dll" "$(OutDir)"
|
||||
mkdir "$(OutDir)web"
|
||||
xcopy "$(SolutionDir)..\..\upnp\sample\web" "$(OutDir)web" /S /E /Y
|
||||
</Command>
|
||||
<Message>Copy sample web folder and pthreadVC2.dll to output dir</Message>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>..\..\upnp\inc;..\..\upnp\sample\common;..\..\upnp\sample;..\..\ixml\inc;..\..\pthreads;..\..\pthreads\include;..\inc;..\..\threadutil\inc;..\..\upnp\sample\tvcombo;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;RELEASE;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>pthreadVC2.lib;ixml.lib;threadutil.lib;libupnp.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\upnp\inc;..\..\upnp\sample\common;..\..\upnp\sample;..\..\ixml\inc;..\..\pthreads;..\..\pthreads\include;..\inc;..\..\threadutil\inc;..\..\upnp\sample\tvcombo;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;DEBUG;_WINDOWS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>pthreadVC2.lib;ixml.lib;threadutil.lib;libupnp.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib\libupnp;$(OutDir)..\lib\threadutil;$(OutDir)..\lib\ixml;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>copy "$(SolutionDir)..\..\pthreads\lib\pthread*.dll" "$(OutDir)"
|
||||
mkdir "$(OutDir)web"
|
||||
xcopy "$(SolutionDir)..\..\upnp\sample\web" "$(OutDir)web" /S /E /Y
|
||||
</Command>
|
||||
<Message>Copy sample web folder and pthreadVC2.dll to output dir</Message>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\upnp\inc;..\..\upnp\sample\common;..\..\upnp\sample;..\..\ixml\inc;..\..\pthreads;..\..\pthreads\include;..\inc;..\..\threadutil\inc;..\..\upnp\sample\tvcombo;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;DEBUG;_WINDOWS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>pthreadVC2.lib;ixml.lib;threadutil.lib;libupnp.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>..\..\upnp\inc;..\..\upnp\sample\common;..\..\upnp\sample;..\..\ixml\inc;..\..\pthreads;..\..\pthreads\include;..\inc;..\..\threadutil\inc;..\..\upnp\sample\tvcombo;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;RELEASE;_WINDOWS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>pthreadVC2.lib;ixml.lib;threadutil.lib;libupnp.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib\libupnp;$(OutDir)..\lib\threadutil;$(OutDir)..\lib\ixml;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>copy "$(SolutionDir)..\..\pthreads\lib\pthread*.dll" "$(OutDir)"
|
||||
mkdir "$(OutDir)web"
|
||||
xcopy "$(SolutionDir)..\..\upnp\sample\web" "$(OutDir)web" /S /E /Y
|
||||
</Command>
|
||||
<Message>Copy sample web folder and pthreadVC2.dll to output dir</Message>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>..\..\upnp\inc;..\..\upnp\sample\common;..\..\upnp\sample;..\..\ixml\inc;..\..\pthreads;..\..\pthreads\include;..\inc;..\..\threadutil\inc;..\..\upnp\sample\tvcombo;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;RELEASE;_WINDOWS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>pthreadVC2.lib;ixml.lib;threadutil.lib;libupnp.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\upnp\sample\common\sample_util.c" />
|
||||
<ClCompile Include="..\..\upnp\sample\linux\tv_combo_main.c" />
|
||||
<ClCompile Include="..\..\upnp\sample\common\tv_ctrlpt.c" />
|
||||
<ClCompile Include="..\..\upnp\sample\common\tv_device.c" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\upnp\sample\common\sample_util.h" />
|
||||
<ClInclude Include="..\..\upnp\sample\common\tv_ctrlpt.h" />
|
||||
<ClInclude Include="..\..\upnp\sample\common\tv_device.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="libupnp.vcxproj">
|
||||
<Project>{6227f51a-1498-4c4a-b213-f6fded605125}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
38
build/vc10/tvcombo.vcxproj.filters
Normal file
38
build/vc10/tvcombo.vcxproj.filters
Normal file
@@ -0,0 +1,38 @@
|
||||
<?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>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\upnp\sample\common\sample_util.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\upnp\sample\linux\tv_combo_main.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\upnp\sample\common\tv_ctrlpt.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\upnp\sample\common\tv_device.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\upnp\sample\common\sample_util.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\upnp\sample\common\tv_ctrlpt.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\upnp\sample\common\tv_device.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
414
build/vc10/tvctrlpt.vcxproj
Normal file
414
build/vc10/tvctrlpt.vcxproj
Normal file
@@ -0,0 +1,414 @@
|
||||
<?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 Lib|Win32">
|
||||
<Configuration>Debug Lib</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug Lib|x64">
|
||||
<Configuration>Debug Lib</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<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 Lib|Win32">
|
||||
<Configuration>Release Lib</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release Lib|x64">
|
||||
<Configuration>Release Lib</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">
|
||||
<ProjectGuid>{8FB56F1C-E617-4B79-96AE-1FA499A3A9B5}</ProjectGuid>
|
||||
<RootNamespace>sample</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</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" />
|
||||
</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" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</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" />
|
||||
</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" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\bin\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\bin\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\bin\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)\out.vc10.$(Platform)\$(Configuration)\bin\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'">$(SolutionDir)\out.vc10.$(Platform)\$(Configuration)\bin\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'">false</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'">$(SolutionDir)\out.vc10.$(Platform)\$(Configuration)\bin\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'">false</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'">$(SolutionDir)\out.vc10.$(Platform)\$(Configuration)\bin\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'">false</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'">$(SolutionDir)\out.vc10.$(Platform)\$(Configuration)\bin\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'">false</LinkIncremental>
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\upnp\inc;..\..\upnp\sample\common;..\..\ixml\inc;..\inc;..\..\threadutil\inc;..\..\pthreads;..\..\pthreads\include;..\..\upnp\sample\tvctrlpt\linux;..\..\upnp\sample\tvctrlpt;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;DEBUG;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>pthreadVC2.lib;ixml.lib;threadutil.lib;libupnp.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib\libupnp;$(OutDir)..\lib\threadutil;$(OutDir)..\lib\ixml;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
<BuildLog>
|
||||
<Path>$(IntDir)$(MSBuildProjectName).log</Path>
|
||||
</BuildLog>
|
||||
<PostBuildEvent>
|
||||
<Command>copy "$(SolutionDir)..\..\pthreads\lib\pthread*.dll" "$(OutDir)"
|
||||
mkdir "$(OutDir)web"
|
||||
xcopy "$(SolutionDir)..\..\upnp\sample\web" "$(OutDir)web" /S /E /Y
|
||||
</Command>
|
||||
<Message>Copy sample web folder and pthreadVC2.dll to output dir</Message>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\upnp\inc;..\..\upnp\sample\common;..\..\ixml\inc;..\inc;..\..\threadutil\inc;..\..\pthreads;..\..\pthreads\include;..\..\upnp\sample\tvctrlpt\linux;..\..\upnp\sample\tvctrlpt;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;DEBUG;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>pthreadVC2.lib;ixml.lib;threadutil.lib;libupnp.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>..\..\upnp\inc;..\..\upnp\sample\common;..\..\upnp\sample;..\..\ixml\inc;..\..\pthreads;..\..\pthreads\include;..\inc;..\..\threadutil\inc;..\..\upnp\sample\tvcombo;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;RELEASE;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>pthreadVC2.lib;ixml.lib;threadutil.lib;libupnp.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib\libupnp;$(OutDir)..\lib\threadutil;$(OutDir)..\lib\ixml;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>copy "$(SolutionDir)..\..\pthreads\lib\pthread*.dll" "$(OutDir)"
|
||||
mkdir "$(OutDir)web"
|
||||
xcopy "$(SolutionDir)..\..\upnp\sample\web" "$(OutDir)web" /S /E /Y
|
||||
</Command>
|
||||
<Message>Copy sample web folder and pthreadVC2.dll to output dir</Message>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>..\..\upnp\inc;..\..\upnp\sample\common;..\..\upnp\sample;..\..\ixml\inc;..\..\pthreads;..\..\pthreads\include;..\inc;..\..\threadutil\inc;..\..\upnp\sample\tvcombo;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;RELEASE;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>pthreadVC2.lib;ixml.lib;threadutil.lib;libupnp.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\upnp\inc;..\..\upnp\sample\common;..\..\ixml\inc;..\inc;..\..\threadutil\inc;..\..\pthreads;..\..\pthreads\include;..\..\upnp\sample\tvctrlpt\linux;..\..\upnp\sample\tvctrlpt;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;DEBUG;_WINDOWS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>pthreadVC2.lib;ixml.lib;threadutil.lib;libupnp.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib\libupnp;$(OutDir)..\lib\threadutil;$(OutDir)..\lib\ixml;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>copy "$(SolutionDir)..\..\pthreads\lib\pthread*.dll" "$(OutDir)"
|
||||
mkdir "$(OutDir)web"
|
||||
xcopy "$(SolutionDir)..\..\upnp\sample\web" "$(OutDir)web" /S /E /Y
|
||||
</Command>
|
||||
<Message>Copy sample web folder and pthreadVC2.dll to output dir</Message>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\upnp\inc;..\..\upnp\sample\common;..\..\ixml\inc;..\inc;..\..\threadutil\inc;..\..\pthreads;..\..\pthreads\include;..\..\upnp\sample\tvctrlpt\linux;..\..\upnp\sample\tvctrlpt;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;DEBUG;_WINDOWS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>pthreadVC2.lib;ixml.lib;threadutil.lib;libupnp.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>..\..\upnp\inc;..\..\upnp\sample\common;..\..\upnp\sample;..\..\ixml\inc;..\..\pthreads;..\..\pthreads\include;..\inc;..\..\threadutil\inc;..\..\upnp\sample\tvcombo;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;RELEASE;_WINDOWS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>pthreadVC2.lib;ixml.lib;threadutil.lib;libupnp.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib\libupnp;$(OutDir)..\lib\threadutil;$(OutDir)..\lib\ixml;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>copy "$(SolutionDir)..\..\pthreads\lib\pthread*.dll" "$(OutDir)"
|
||||
mkdir "$(OutDir)web"
|
||||
xcopy "$(SolutionDir)..\..\upnp\sample\web" "$(OutDir)web" /S /E /Y
|
||||
</Command>
|
||||
<Message>Copy sample web folder and pthreadVC2.dll to output dir</Message>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>..\..\upnp\inc;..\..\upnp\sample\common;..\..\upnp\sample;..\..\ixml\inc;..\..\pthreads;..\..\pthreads\include;..\inc;..\..\threadutil\inc;..\..\upnp\sample\tvcombo;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;RELEASE;_WINDOWS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>pthreadVC2.lib;ixml.lib;threadutil.lib;libupnp.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\upnp\sample\common\sample_util.c" />
|
||||
<ClCompile Include="..\..\upnp\sample\common\tv_ctrlpt.c" />
|
||||
<ClCompile Include="..\..\upnp\sample\linux\tv_ctrlpt_main.c" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\upnp\sample\common\sample_util.h" />
|
||||
<ClInclude Include="..\..\upnp\sample\common\tv_ctrlpt.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="libupnp.vcxproj">
|
||||
<Project>{6227f51a-1498-4c4a-b213-f6fded605125}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
32
build/vc10/tvctrlpt.vcxproj.filters
Normal file
32
build/vc10/tvctrlpt.vcxproj.filters
Normal file
@@ -0,0 +1,32 @@
|
||||
<?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>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\upnp\sample\common\sample_util.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\upnp\sample\common\tv_ctrlpt.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\upnp\sample\linux\tv_ctrlpt_main.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\upnp\sample\common\sample_util.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\upnp\sample\common\tv_ctrlpt.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
423
build/vc10/tvdevice.vcxproj
Normal file
423
build/vc10/tvdevice.vcxproj
Normal file
@@ -0,0 +1,423 @@
|
||||
<?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 Lib|Win32">
|
||||
<Configuration>Debug Lib</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug Lib|x64">
|
||||
<Configuration>Debug Lib</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<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 Lib|Win32">
|
||||
<Configuration>Release Lib</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release Lib|x64">
|
||||
<Configuration>Release Lib</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">
|
||||
<ProjectGuid>{7FB5F4A6-74F9-471D-B358-BAA0AC1CCA0A}</ProjectGuid>
|
||||
<RootNamespace>tvdevice</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</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" />
|
||||
</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" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</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" />
|
||||
</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" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\bin\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\bin\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\bin\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\bin\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\bin\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'">false</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\bin\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'">false</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\bin\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'">false</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\bin\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'">false</LinkIncremental>
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\upnp\inc;..\..\ixml\inc;..\..\upnp\sample\common;..\inc;..\..\threadutil\inc;..\..\pthreads;..\..\pthreads\include;..\..\upnp\sample\tvdevice;..\..\upnp\sample\tvdevice\linux;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;DEBUG;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>pthreadVC2.lib;ixml.lib;threadutil.lib;libupnp.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib\libupnp;$(OutDir)..\lib\threadutil;$(OutDir)..\lib\ixml;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
<BuildLog>
|
||||
<Path>$(IntDir)$(MSBuildProjectName).log</Path>
|
||||
</BuildLog>
|
||||
<PostBuildEvent>
|
||||
<Command>copy "$(SolutionDir)..\..\pthreads\lib\pthread*.dll" "$(OutDir)"
|
||||
mkdir "$(OutDir)web"
|
||||
xcopy "$(SolutionDir)..\..\upnp\sample\web" "$(OutDir)web" /S /E /Y
|
||||
</Command>
|
||||
</PostBuildEvent>
|
||||
<PostBuildEvent>
|
||||
<Message>Copy sample web folder and pthreadVC2.dll to output dir</Message>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\upnp\inc;..\..\ixml\inc;..\..\upnp\sample\common;..\inc;..\..\threadutil\inc;..\..\pthreads;..\..\pthreads\include;..\..\upnp\sample\tvdevice;..\..\upnp\sample\tvdevice\linux;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;DEBUG;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>pthreadVC2.lib;ixml.lib;threadutil.lib;libupnp.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>..\..\upnp\inc;..\..\upnp\sample\common;..\..\upnp\sample;..\..\ixml\inc;..\..\pthreads;..\..\pthreads\include;..\inc;..\..\threadutil\inc;..\..\upnp\sample\tvcombo;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;RELEASE;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>pthreadVC2.lib;ixml.lib;threadutil.lib;libupnp.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib\libupnp;$(OutDir)..\lib\threadutil;$(OutDir)..\lib\ixml;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>copy "$(SolutionDir)..\..\pthreads\lib\pthread*.dll" "$(OutDir)"
|
||||
mkdir "$(OutDir)web"
|
||||
xcopy "$(SolutionDir)..\..\upnp\sample\web" "$(OutDir)web" /S /E /Y
|
||||
</Command>
|
||||
<Message>Copy sample web folder and pthreadVC2.dll to output dir</Message>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>..\..\upnp\inc;..\..\upnp\sample\common;..\..\upnp\sample;..\..\ixml\inc;..\..\pthreads;..\..\pthreads\include;..\inc;..\..\threadutil\inc;..\..\upnp\sample\tvcombo;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;RELEASE;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>pthreadVC2.lib;ixml.lib;threadutil.lib;libupnp.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\upnp\inc;..\..\ixml\inc;..\..\upnp\sample\common;..\inc;..\..\threadutil\inc;..\..\pthreads;..\..\pthreads\include;..\..\upnp\sample\tvdevice;..\..\upnp\sample\tvdevice\linux;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;DEBUG;_WINDOWS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>pthreadVC2.lib;ixml.lib;threadutil.lib;libupnp.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib\libupnp;$(OutDir)..\lib\threadutil;$(OutDir)..\lib\ixml;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>copy "$(SolutionDir)..\..\pthreads\lib\pthread*.dll" "$(OutDir)"
|
||||
mkdir "$(OutDir)web"
|
||||
xcopy "$(SolutionDir)..\..\upnp\sample\web" "$(OutDir)web" /S /E /Y
|
||||
</Command>
|
||||
<Message>Copy sample web folder and pthreadVC2.dll to output dir</Message>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\upnp\inc;..\..\ixml\inc;..\..\upnp\sample\common;..\inc;..\..\threadutil\inc;..\..\pthreads;..\..\pthreads\include;..\..\upnp\sample\tvdevice;..\..\upnp\sample\tvdevice\linux;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;DEBUG;_WINDOWS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>pthreadVC2.lib;ixml.lib;threadutil.lib;libupnp.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>..\..\upnp\inc;..\..\upnp\sample\common;..\..\upnp\sample;..\..\ixml\inc;..\..\pthreads;..\..\pthreads\include;..\inc;..\..\threadutil\inc;..\..\upnp\sample\tvcombo;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;RELEASE;_WINDOWS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>pthreadVC2.lib;ixml.lib;threadutil.lib;libupnp.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib\libupnp;$(OutDir)..\lib\threadutil;$(OutDir)..\lib\ixml;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>copy "$(SolutionDir)..\..\pthreads\lib\pthread*.dll" "$(OutDir)"
|
||||
mkdir "$(OutDir)web"
|
||||
xcopy "$(SolutionDir)..\..\upnp\sample\web" "$(OutDir)web" /S /E /Y
|
||||
</Command>
|
||||
<Message>Copy sample web folder and pthreadVC2.dll to output dir</Message>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>..\..\upnp\inc;..\..\upnp\sample\common;..\..\upnp\sample;..\..\ixml\inc;..\..\pthreads;..\..\pthreads\include;..\inc;..\..\threadutil\inc;..\..\upnp\sample\tvcombo;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;RELEASE;_WINDOWS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>pthreadVC2.lib;ixml.lib;threadutil.lib;libupnp.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\upnp\sample\common\sample_util.c" />
|
||||
<ClCompile Include="..\..\upnp\sample\common\tv_device.c" />
|
||||
<ClCompile Include="..\..\upnp\sample\linux\tv_device_main.c" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\upnp\sample\common\sample_util.h" />
|
||||
<ClInclude Include="..\..\upnp\sample\common\tv_device.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="libupnp.vcxproj">
|
||||
<Project>{6227f51a-1498-4c4a-b213-f6fded605125}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\upnp\sample\web\tvcombodesc.xml" />
|
||||
<None Include="..\..\upnp\sample\web\tvcontrolSCPD.xml" />
|
||||
<None Include="..\..\upnp\sample\web\tvdevicedesc.xml" />
|
||||
<None Include="..\..\upnp\sample\web\tvdevicepres.html" />
|
||||
<None Include="..\..\upnp\sample\web\tvpictureSCPD.xml" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
52
build/vc10/tvdevice.vcxproj.filters
Normal file
52
build/vc10/tvdevice.vcxproj.filters
Normal file
@@ -0,0 +1,52 @@
|
||||
<?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="SampleDeviceXMLs">
|
||||
<UniqueIdentifier>{3953a023-20c4-4d35-860e-ec802019076c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\upnp\sample\common\sample_util.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\upnp\sample\common\tv_device.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\upnp\sample\linux\tv_device_main.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\upnp\sample\common\sample_util.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\upnp\sample\common\tv_device.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\upnp\sample\web\tvcombodesc.xml">
|
||||
<Filter>SampleDeviceXMLs</Filter>
|
||||
</None>
|
||||
<None Include="..\..\upnp\sample\web\tvcontrolSCPD.xml">
|
||||
<Filter>SampleDeviceXMLs</Filter>
|
||||
</None>
|
||||
<None Include="..\..\upnp\sample\web\tvdevicedesc.xml">
|
||||
<Filter>SampleDeviceXMLs</Filter>
|
||||
</None>
|
||||
<None Include="..\..\upnp\sample\web\tvdevicepres.html">
|
||||
<Filter>SampleDeviceXMLs</Filter>
|
||||
</None>
|
||||
<None Include="..\..\upnp\sample\web\tvpictureSCPD.xml">
|
||||
<Filter>SampleDeviceXMLs</Filter>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -1,217 +1,217 @@
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="8.00"
|
||||
Name="ixml"
|
||||
ProjectGUID="{AD489FAF-9CDD-411B-BFE9-1B9C6C16D427}"
|
||||
RootNamespace="ixml"
|
||||
>
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"
|
||||
/>
|
||||
</Platforms>
|
||||
<ToolFiles>
|
||||
</ToolFiles>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory=".\out.vc8.$(ConfigurationName)\$(ProjectName)"
|
||||
IntermediateDirectory=".\out.vc8.$(ConfigurationName)\$(ProjectName)"
|
||||
ConfigurationType="4"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\ixml\inc;..\..\ixml\src\inc;..\inc;..\..\upnp\inc"
|
||||
PreprocessorDefinitions="WIN32;DEBUG"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="4"
|
||||
CompileAs="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory=".\out.vc8.$(ConfigurationName)\$(ProjectName)"
|
||||
IntermediateDirectory=".\out.vc8.$(ConfigurationName)\$(ProjectName)"
|
||||
ConfigurationType="4"
|
||||
UseOfMFC="0"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories="..\..\ixml\inc;..\..\ixml\src\inc;..\inc"
|
||||
PreprocessorDefinitions="WIN32;IXML_INLINE="
|
||||
RuntimeLibrary="0"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\..\ixml\src\attr.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\ixml\src\document.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\ixml\src\element.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\ixml\src\ixml.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\ixml\src\ixmldebug.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\ixml\src\ixmlmembuf.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\ixml\src\ixmlparser.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\ixml\src\namedNodeMap.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\ixml\src\node.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\ixml\src\nodeList.c"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Header Files"
|
||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\..\ixml\inc\ixml.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\ixml\inc\ixmldebug.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\ixml\src\inc\ixmlmembuf.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\ixml\src\inc\ixmlparser.h"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="8.00"
|
||||
Name="ixml"
|
||||
ProjectGUID="{AD489FAF-9CDD-411B-BFE9-1B9C6C16D427}"
|
||||
RootNamespace="ixml"
|
||||
>
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"
|
||||
/>
|
||||
</Platforms>
|
||||
<ToolFiles>
|
||||
</ToolFiles>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory=".\out.vc8.$(ConfigurationName)\$(ProjectName)"
|
||||
IntermediateDirectory=".\out.vc8.$(ConfigurationName)\$(ProjectName)"
|
||||
ConfigurationType="4"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\ixml\inc;..\..\ixml\src\inc;..\inc;..\..\upnp\inc"
|
||||
PreprocessorDefinitions="WIN32;DEBUG"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="4"
|
||||
CompileAs="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory=".\out.vc8.$(ConfigurationName)\$(ProjectName)"
|
||||
IntermediateDirectory=".\out.vc8.$(ConfigurationName)\$(ProjectName)"
|
||||
ConfigurationType="4"
|
||||
UseOfMFC="0"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories="..\..\ixml\inc;..\..\ixml\src\inc;..\inc;..\..\upnp\inc"
|
||||
PreprocessorDefinitions="WIN32;DEBUG;IXML_INLINE="
|
||||
RuntimeLibrary="0"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\..\ixml\src\attr.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\ixml\src\document.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\ixml\src\element.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\ixml\src\ixml.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\ixml\src\ixmldebug.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\ixml\src\ixmlmembuf.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\ixml\src\ixmlparser.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\ixml\src\namedNodeMap.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\ixml\src\node.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\ixml\src\nodeList.c"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Header Files"
|
||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\..\ixml\inc\ixml.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\ixml\inc\ixmldebug.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\ixml\src\inc\ixmlmembuf.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\ixml\src\inc\ixmlparser.h"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="..\..\pthreads\include;..\..\ixml\src\inc;..\..\ixml\inc;..\..\threadutil\inc;..\..\upnp\inc;..\..\upnp\src\inc;..\inc;..\msvc"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBUPNP_EXPORTS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_SECURE_NO_WARNINGS"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBUPNP_EXPORTS;PTW32_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_SECURE_NO_WARNINGS"
|
||||
StringPooling="true"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="true"
|
||||
@@ -80,8 +80,8 @@
|
||||
OutputFile="$(OutDir)\libupnp.dll"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="true"
|
||||
ProgramDatabaseFile=".\Release/libupnp.pdb"
|
||||
ImportLibrary=".\Release/libupnp.lib"
|
||||
ProgramDatabaseFile="$(OutDir)\libupnp.pdb"
|
||||
ImportLibrary="$(OutDir)\libupnp.lib"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
@@ -96,7 +96,7 @@
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile=".\Release/libupnp.bsc"
|
||||
OutputFile="$(OutDir)\libupnp.bsc"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
@@ -218,14 +218,6 @@
|
||||
Name="sources"
|
||||
Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\..\upnp\src\api\ActionComplete.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\src\api\ActionRequest.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\ixml\src\attr.c"
|
||||
>
|
||||
@@ -234,10 +226,6 @@
|
||||
RelativePath="..\..\upnp\src\genlib\client_table\client_table.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\src\api\Discovery.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\ixml\src\document.c"
|
||||
>
|
||||
@@ -246,18 +234,6 @@
|
||||
RelativePath="..\..\ixml\src\element.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\src\api\Event.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\src\api\EventSubscribe.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\src\api\FileInfo.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\threadutil\src\FreeList.c"
|
||||
>
|
||||
@@ -358,10 +334,6 @@
|
||||
RelativePath="..\..\upnp\src\ssdp\ssdp_device.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\src\ssdp\ssdp_ResultData.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\src\ssdp\ssdp_server.c"
|
||||
>
|
||||
@@ -370,22 +342,10 @@
|
||||
RelativePath="..\..\upnp\src\genlib\net\http\statcodes.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\src\api\StateVarComplete.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\src\api\StateVarRequest.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\src\genlib\util\strintmap.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\src\api\SubscriptionRequest.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\src\uuid\sysdep.c"
|
||||
>
|
||||
@@ -447,14 +407,6 @@
|
||||
Name="headers"
|
||||
Filter="h;hpp;hxx;hm;inl"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\..\upnp\inc\ActionComplete.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\inc\actionrequest.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\src\inc\client_table.h"
|
||||
>
|
||||
@@ -463,22 +415,6 @@
|
||||
RelativePath="..\..\upnp\src\inc\config.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\inc\discovery.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\inc\Event.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\inc\EventSubscribe.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\inc\FileInfo.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\src\inc\gena.h"
|
||||
>
|
||||
@@ -563,14 +499,6 @@
|
||||
RelativePath="..\..\upnp\src\inc\statcodes.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\inc\StateVarComplete.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\inc\statevarrequest.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\src\inc\statuscodes.h"
|
||||
>
|
||||
@@ -579,10 +507,6 @@
|
||||
RelativePath="..\..\upnp\src\inc\strintmap.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\inc\SubscriptionRequest.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\src\inc\sysdep.h"
|
||||
>
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\threadutil\inc;..\..\upnp\inc;..\..\ixml\inc;..\..\pthreads\include"
|
||||
PreprocessorDefinitions="WIN32;DEBUG"
|
||||
PreprocessorDefinitions="WIN32;DEBUG;UPNP_USE_MSVCPP"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
@@ -80,9 +80,9 @@
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
||||
IntermediateDirectory="$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
OutputDirectory=".\out.vc8.$(ConfigurationName)\$(ProjectName)"
|
||||
IntermediateDirectory=".\out.vc8.$(ConfigurationName)\$(ProjectName)"
|
||||
ConfigurationType="4"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
@@ -103,6 +103,8 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories="..\..\threadutil\inc;..\..\upnp\inc;..\..\ixml\inc;..\..\pthreads\include"
|
||||
PreprocessorDefinitions="WIN32;UPNP_USE_MSVCPP"
|
||||
RuntimeLibrary="2"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
@@ -118,18 +120,11 @@
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
GenerateDebugInformation="true"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
TargetMachine="1"
|
||||
Name="VCLibrarianTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
@@ -139,12 +134,6 @@
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\upnp\inc;..\..\ixml\inc;..\..\upnp\sample\common;..\inc;..\..\threadutil\inc;..\..\pthreads\include;..\..\upnp\sample\tvcombo;..\..\upnp\sample\tvcombo\linux"
|
||||
PreprocessorDefinitions="WIN32;DEBUG"
|
||||
PreprocessorDefinitions="WIN32;DEBUG;UPNP_USE_MSVCPP"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
@@ -91,8 +91,8 @@
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
||||
IntermediateDirectory="$(ConfigurationName)"
|
||||
OutputDirectory=".\out.vc8.$(ConfigurationName)\$(ProjectName)"
|
||||
IntermediateDirectory=".\out.vc8.$(ConfigurationName)\$(ProjectName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="1"
|
||||
@@ -114,6 +114,8 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories="..\..\upnp\inc;..\..\ixml\inc;..\..\upnp\sample\common;..\inc;..\..\threadutil\inc;..\..\pthreads\include;..\..\upnp\sample\tvcombo;..\..\upnp\sample\tvcombo\linux"
|
||||
PreprocessorDefinitions="WIN32;UPNP_USE_MSVCPP"
|
||||
RuntimeLibrary="2"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
@@ -130,6 +132,8 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="..\..\pthreads\lib\pthreadVC2.lib ixml.lib threadutil.lib libupnp.lib"
|
||||
AdditionalLibraryDirectories=""$(OutDir)";"out.vc8.$(ConfigurationName)\ixml";"out.vc8.$(ConfigurationName)\threadutil";"out.vc8.$(ConfigurationName)\libupnp""
|
||||
GenerateDebugInformation="true"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
@@ -174,15 +178,15 @@
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\sample\tvcombo\linux\upnp_tv_combo_main.c"
|
||||
RelativePath="..\..\upnp\sample\linux\tv_combo_main.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\sample\tvcombo\upnp_tv_ctrlpt.c"
|
||||
RelativePath="..\..\upnp\sample\common\tv_ctrlpt.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\sample\tvcombo\upnp_tv_device.c"
|
||||
RelativePath="..\..\upnp\sample\common\tv_device.c"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\upnp\inc;..\..\ixml\inc;..\..\upnp\sample\common;..\inc;..\..\threadutil\inc;..\..\pthreads\include;..\..\upnp\sample\tvctrlpt;..\..\upnp\sample\tvctrlpt\linux"
|
||||
PreprocessorDefinitions="WIN32;DEBUG"
|
||||
PreprocessorDefinitions="WIN32;DEBUG;UPNP_USE_MSVCPP"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
@@ -91,8 +91,8 @@
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
||||
IntermediateDirectory="$(ConfigurationName)"
|
||||
OutputDirectory=".\out.vc8.$(ConfigurationName)\$(ProjectName)"
|
||||
IntermediateDirectory=".\out.vc8.$(ConfigurationName)\$(ProjectName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="1"
|
||||
@@ -114,6 +114,8 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories="..\..\upnp\inc;..\..\ixml\inc;..\..\upnp\sample\common;..\inc;..\..\threadutil\inc;..\..\pthreads\include;..\..\upnp\sample\tvctrlpt;..\..\upnp\sample\tvctrlpt\linux"
|
||||
PreprocessorDefinitions="WIN32;UPNP_USE_MSVCPP"
|
||||
RuntimeLibrary="2"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
@@ -130,6 +132,8 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="..\..\pthreads\lib\pthreadVC2.lib ixml.lib threadutil.lib libupnp.lib"
|
||||
AdditionalLibraryDirectories=""$(OutDir)";"out.vc8.$(ConfigurationName)\ixml";"out.vc8.$(ConfigurationName)\threadutil";"out.vc8.$(ConfigurationName)\libupnp""
|
||||
GenerateDebugInformation="true"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
@@ -174,11 +178,11 @@
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\sample\tvctrlpt\upnp_tv_ctrlpt.c"
|
||||
RelativePath="..\..\upnp\sample\common\tv_ctrlpt.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\sample\tvctrlpt\linux\upnp_tv_ctrlpt_main.c"
|
||||
RelativePath="..\..\upnp\sample\linux\tv_ctrlpt_main.c"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\upnp\inc;..\..\ixml\inc;..\..\upnp\sample\common;..\inc;..\..\threadutil\inc;..\..\pthreads\include;..\..\upnp\sample\tvdevice;..\..\upnp\sample\tvdevice\linux"
|
||||
PreprocessorDefinitions="WIN32;DEBUG"
|
||||
PreprocessorDefinitions="WIN32;DEBUG;UPNP_USE_MSVCPP"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
@@ -91,8 +91,8 @@
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
||||
IntermediateDirectory="$(ConfigurationName)"
|
||||
OutputDirectory=".\out.vc8.$(ConfigurationName)\$(ProjectName)"
|
||||
IntermediateDirectory=".\out.vc8.$(ConfigurationName)\$(ProjectName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="1"
|
||||
@@ -114,6 +114,8 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories="..\..\upnp\inc;..\..\ixml\inc;..\..\upnp\sample\common;..\inc;..\..\threadutil\inc;..\..\pthreads\include;..\..\upnp\sample\tvdevice;..\..\upnp\sample\tvdevice\linux"
|
||||
PreprocessorDefinitions="WIN32;UPNP_USE_MSVCPP"
|
||||
RuntimeLibrary="2"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
@@ -130,6 +132,8 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="..\..\pthreads\lib\pthreadVC2.lib ixml.lib threadutil.lib libupnp.lib"
|
||||
AdditionalLibraryDirectories=""$(OutDir)";"out.vc8.$(ConfigurationName)\ixml";"out.vc8.$(ConfigurationName)\threadutil";"out.vc8.$(ConfigurationName)\libupnp""
|
||||
GenerateDebugInformation="true"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
@@ -174,11 +178,11 @@
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\sample\tvdevice\upnp_tv_device.c"
|
||||
RelativePath="..\..\upnp\sample\common\tv_device.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\sample\tvdevice\linux\upnp_tv_device_main.c"
|
||||
RelativePath="..\..\upnp\sample\linux\tv_device_main.c"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
|
||||
@@ -11,16 +11,20 @@
|
||||
<Platform
|
||||
Name="Win32"
|
||||
/>
|
||||
<Platform
|
||||
Name="x64"
|
||||
/>
|
||||
</Platforms>
|
||||
<ToolFiles>
|
||||
</ToolFiles>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory=".\out.vc9.$(ConfigurationName)\$(ProjectName)"
|
||||
IntermediateDirectory=".\out.vc9.$(ConfigurationName)\$(ProjectName)"
|
||||
OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\lib\"
|
||||
IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\"
|
||||
ConfigurationType="4"
|
||||
CharacterSet="0"
|
||||
EnableManagedIncrementalBuild="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
@@ -41,12 +45,16 @@
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\ixml\inc;..\..\ixml\src\inc;..\inc;..\..\upnp\inc"
|
||||
PreprocessorDefinitions="DEBUG;WIN32;_USRDLL;LIBUPNP_EXPORTS;UPNP_USE_MSVCPP;_CRT_SECURE_NO_WARNINGS"
|
||||
PreprocessorDefinitions="DEBUG;WIN32;_USRDLL;LIBUPNP_EXPORTS;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
PrecompiledHeaderFile=""
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
ProgramDataBaseFileName="$(OutDir)\$(ProjectName).pdb"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="4"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
@@ -59,6 +67,75 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
AdditionalLibraryDirectories="$(OutDir)\..\lib;$(OutDir)\..\bin"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|x64"
|
||||
OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\lib\"
|
||||
IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\"
|
||||
ConfigurationType="4"
|
||||
CharacterSet="0"
|
||||
EnableManagedIncrementalBuild="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\ixml\inc;..\..\ixml\src\inc;..\inc;..\..\upnp\inc"
|
||||
PreprocessorDefinitions="DEBUG;WIN32;_USRDLL;LIBUPNP_EXPORTS;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
PrecompiledHeaderFile=""
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
ProgramDataBaseFileName="$(OutDir)\$(ProjectName).pdb"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
AdditionalLibraryDirectories="$(OutDir)\..\lib;$(OutDir)\..\bin"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
@@ -78,11 +155,12 @@
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory=".\out.vc9.$(ConfigurationName)\$(ProjectName)"
|
||||
IntermediateDirectory=".\out.vc9.$(ConfigurationName)\$(ProjectName)"
|
||||
OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\lib\"
|
||||
IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\"
|
||||
ConfigurationType="4"
|
||||
CharacterSet="0"
|
||||
WholeProgramOptimization="1"
|
||||
EnableManagedIncrementalBuild="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
@@ -102,13 +180,19 @@
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="0"
|
||||
EnableIntrinsicFunctions="true"
|
||||
AdditionalIncludeDirectories="..\..\ixml\inc;..\..\ixml\src\inc;..\inc"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBUPNP_EXPORTS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_SECURE_NO_WARNINGS"
|
||||
AdditionalIncludeDirectories="..\..\ixml\inc;..\..\ixml\src\inc;..\inc;..\..\upnp\inc"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBUPNP_EXPORTS;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE"
|
||||
StringPooling="true"
|
||||
RuntimeLibrary="2"
|
||||
EnableFunctionLevelLinking="true"
|
||||
PrecompiledHeaderFile=""
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
ProgramDataBaseFileName="$(OutDir)\$(ProjectName).pdb"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
@@ -121,6 +205,354 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
AdditionalLibraryDirectories="$(OutDir)\..\lib;$(OutDir)\..\bin"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|x64"
|
||||
OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\lib\"
|
||||
IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\"
|
||||
ConfigurationType="4"
|
||||
CharacterSet="0"
|
||||
WholeProgramOptimization="1"
|
||||
EnableManagedIncrementalBuild="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="0"
|
||||
EnableIntrinsicFunctions="true"
|
||||
AdditionalIncludeDirectories="..\..\ixml\inc;..\..\ixml\src\inc;..\inc;..\..\upnp\inc"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBUPNP_EXPORTS;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE"
|
||||
StringPooling="true"
|
||||
RuntimeLibrary="2"
|
||||
EnableFunctionLevelLinking="true"
|
||||
PrecompiledHeaderFile=""
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
ProgramDataBaseFileName="$(OutDir)\$(ProjectName).pdb"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
AdditionalLibraryDirectories="$(OutDir)\..\lib;$(OutDir)\..\bin"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug Lib|Win32"
|
||||
OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\lib\"
|
||||
IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\"
|
||||
ConfigurationType="4"
|
||||
CharacterSet="0"
|
||||
EnableManagedIncrementalBuild="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\ixml\inc;..\..\ixml\src\inc;..\inc;..\..\upnp\inc"
|
||||
PreprocessorDefinitions="DEBUG;WIN32;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
PrecompiledHeaderFile=""
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
ProgramDataBaseFileName="$(OutDir)\$(ProjectName).pdb"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
AdditionalLibraryDirectories="$(OutDir)\..\lib;$(OutDir)\..\bin"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug Lib|x64"
|
||||
OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\lib\"
|
||||
IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\"
|
||||
ConfigurationType="4"
|
||||
CharacterSet="0"
|
||||
EnableManagedIncrementalBuild="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\ixml\inc;..\..\ixml\src\inc;..\inc;..\..\upnp\inc"
|
||||
PreprocessorDefinitions="DEBUG;WIN32;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
PrecompiledHeaderFile=""
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
ProgramDataBaseFileName="$(OutDir)\$(ProjectName).pdb"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
AdditionalLibraryDirectories="$(OutDir)\..\lib;$(OutDir)\..\bin"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release Lib|Win32"
|
||||
OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\lib\"
|
||||
IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\"
|
||||
ConfigurationType="4"
|
||||
CharacterSet="0"
|
||||
WholeProgramOptimization="1"
|
||||
EnableManagedIncrementalBuild="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="0"
|
||||
EnableIntrinsicFunctions="true"
|
||||
AdditionalIncludeDirectories="..\..\ixml\inc;..\..\ixml\src\inc;..\inc;..\..\upnp\inc"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;RELEASE;_WINDOWS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE"
|
||||
StringPooling="true"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="true"
|
||||
PrecompiledHeaderFile=""
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
ProgramDataBaseFileName="$(OutDir)\$(ProjectName).pdb"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
AdditionalLibraryDirectories="$(OutDir)\..\lib;$(OutDir)\..\bin"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release Lib|x64"
|
||||
OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\lib\"
|
||||
IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\"
|
||||
ConfigurationType="4"
|
||||
CharacterSet="0"
|
||||
WholeProgramOptimization="1"
|
||||
EnableManagedIncrementalBuild="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="0"
|
||||
EnableIntrinsicFunctions="true"
|
||||
AdditionalIncludeDirectories="..\..\ixml\inc;..\..\ixml\src\inc;..\inc;..\..\upnp\inc"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;RELEASE;_WINDOWS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE"
|
||||
StringPooling="true"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="true"
|
||||
PrecompiledHeaderFile=""
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
ProgramDataBaseFileName="$(OutDir)\$(ProjectName).pdb"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
AdditionalLibraryDirectories="$(OutDir)\..\lib;$(OutDir)\..\bin"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
|
||||
@@ -28,34 +28,112 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tvcombo", "tvcombo.vcproj",
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug Lib|Win32 = Debug Lib|Win32
|
||||
Debug Lib|x64 = Debug Lib|x64
|
||||
Debug|Win32 = Debug|Win32
|
||||
Debug|x64 = Debug|x64
|
||||
Release Lib|Win32 = Release Lib|Win32
|
||||
Release Lib|x64 = Release Lib|x64
|
||||
Release|Win32 = Release|Win32
|
||||
Release|x64 = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{6227F51A-1498-4C4A-B213-F6FDED605125}.Debug Lib|Win32.ActiveCfg = Debug Lib|Win32
|
||||
{6227F51A-1498-4C4A-B213-F6FDED605125}.Debug Lib|Win32.Build.0 = Debug Lib|Win32
|
||||
{6227F51A-1498-4C4A-B213-F6FDED605125}.Debug Lib|x64.ActiveCfg = Debug Lib|x64
|
||||
{6227F51A-1498-4C4A-B213-F6FDED605125}.Debug Lib|x64.Build.0 = Debug Lib|x64
|
||||
{6227F51A-1498-4C4A-B213-F6FDED605125}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{6227F51A-1498-4C4A-B213-F6FDED605125}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{6227F51A-1498-4C4A-B213-F6FDED605125}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{6227F51A-1498-4C4A-B213-F6FDED605125}.Debug|x64.Build.0 = Debug|x64
|
||||
{6227F51A-1498-4C4A-B213-F6FDED605125}.Release Lib|Win32.ActiveCfg = Release Lib|Win32
|
||||
{6227F51A-1498-4C4A-B213-F6FDED605125}.Release Lib|Win32.Build.0 = Release Lib|Win32
|
||||
{6227F51A-1498-4C4A-B213-F6FDED605125}.Release Lib|x64.ActiveCfg = Release Lib|x64
|
||||
{6227F51A-1498-4C4A-B213-F6FDED605125}.Release Lib|x64.Build.0 = Release Lib|x64
|
||||
{6227F51A-1498-4C4A-B213-F6FDED605125}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{6227F51A-1498-4C4A-B213-F6FDED605125}.Release|Win32.Build.0 = Release|Win32
|
||||
{6227F51A-1498-4C4A-B213-F6FDED605125}.Release|x64.ActiveCfg = Release|x64
|
||||
{6227F51A-1498-4C4A-B213-F6FDED605125}.Release|x64.Build.0 = Release|x64
|
||||
{9C2C266D-35A3-465F-A297-0E21D54E5C89}.Debug Lib|Win32.ActiveCfg = Debug Lib|Win32
|
||||
{9C2C266D-35A3-465F-A297-0E21D54E5C89}.Debug Lib|Win32.Build.0 = Debug Lib|Win32
|
||||
{9C2C266D-35A3-465F-A297-0E21D54E5C89}.Debug Lib|x64.ActiveCfg = Debug Lib|x64
|
||||
{9C2C266D-35A3-465F-A297-0E21D54E5C89}.Debug Lib|x64.Build.0 = Debug Lib|x64
|
||||
{9C2C266D-35A3-465F-A297-0E21D54E5C89}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{9C2C266D-35A3-465F-A297-0E21D54E5C89}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{9C2C266D-35A3-465F-A297-0E21D54E5C89}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{9C2C266D-35A3-465F-A297-0E21D54E5C89}.Debug|x64.Build.0 = Debug|x64
|
||||
{9C2C266D-35A3-465F-A297-0E21D54E5C89}.Release Lib|Win32.ActiveCfg = Release Lib|Win32
|
||||
{9C2C266D-35A3-465F-A297-0E21D54E5C89}.Release Lib|Win32.Build.0 = Release Lib|Win32
|
||||
{9C2C266D-35A3-465F-A297-0E21D54E5C89}.Release Lib|x64.ActiveCfg = Release Lib|x64
|
||||
{9C2C266D-35A3-465F-A297-0E21D54E5C89}.Release Lib|x64.Build.0 = Release Lib|x64
|
||||
{9C2C266D-35A3-465F-A297-0E21D54E5C89}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{9C2C266D-35A3-465F-A297-0E21D54E5C89}.Release|Win32.Build.0 = Release|Win32
|
||||
{9C2C266D-35A3-465F-A297-0E21D54E5C89}.Release|x64.ActiveCfg = Release|x64
|
||||
{9C2C266D-35A3-465F-A297-0E21D54E5C89}.Release|x64.Build.0 = Release|x64
|
||||
{1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.Debug Lib|Win32.ActiveCfg = Debug Lib|Win32
|
||||
{1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.Debug Lib|Win32.Build.0 = Debug Lib|Win32
|
||||
{1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.Debug Lib|x64.ActiveCfg = Debug Lib|x64
|
||||
{1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.Debug Lib|x64.Build.0 = Debug Lib|x64
|
||||
{1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.Debug|x64.Build.0 = Debug|x64
|
||||
{1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.Release Lib|Win32.ActiveCfg = Release Lib|Win32
|
||||
{1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.Release Lib|Win32.Build.0 = Release Lib|Win32
|
||||
{1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.Release Lib|x64.ActiveCfg = Release Lib|x64
|
||||
{1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.Release Lib|x64.Build.0 = Release Lib|x64
|
||||
{1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.Release|Win32.Build.0 = Release|Win32
|
||||
{1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.Release|x64.ActiveCfg = Release|x64
|
||||
{1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.Release|x64.Build.0 = Release|x64
|
||||
{8FB56F1C-E617-4B79-96AE-1FA499A3A9B5}.Debug Lib|Win32.ActiveCfg = Debug Lib|Win32
|
||||
{8FB56F1C-E617-4B79-96AE-1FA499A3A9B5}.Debug Lib|Win32.Build.0 = Debug Lib|Win32
|
||||
{8FB56F1C-E617-4B79-96AE-1FA499A3A9B5}.Debug Lib|x64.ActiveCfg = Debug Lib|x64
|
||||
{8FB56F1C-E617-4B79-96AE-1FA499A3A9B5}.Debug Lib|x64.Build.0 = Debug Lib|x64
|
||||
{8FB56F1C-E617-4B79-96AE-1FA499A3A9B5}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{8FB56F1C-E617-4B79-96AE-1FA499A3A9B5}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{8FB56F1C-E617-4B79-96AE-1FA499A3A9B5}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{8FB56F1C-E617-4B79-96AE-1FA499A3A9B5}.Debug|x64.Build.0 = Debug|x64
|
||||
{8FB56F1C-E617-4B79-96AE-1FA499A3A9B5}.Release Lib|Win32.ActiveCfg = Release Lib|Win32
|
||||
{8FB56F1C-E617-4B79-96AE-1FA499A3A9B5}.Release Lib|Win32.Build.0 = Release Lib|Win32
|
||||
{8FB56F1C-E617-4B79-96AE-1FA499A3A9B5}.Release Lib|x64.ActiveCfg = Release Lib|x64
|
||||
{8FB56F1C-E617-4B79-96AE-1FA499A3A9B5}.Release Lib|x64.Build.0 = Release Lib|x64
|
||||
{8FB56F1C-E617-4B79-96AE-1FA499A3A9B5}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{8FB56F1C-E617-4B79-96AE-1FA499A3A9B5}.Release|Win32.Build.0 = Release|Win32
|
||||
{8FB56F1C-E617-4B79-96AE-1FA499A3A9B5}.Release|x64.ActiveCfg = Release|x64
|
||||
{8FB56F1C-E617-4B79-96AE-1FA499A3A9B5}.Release|x64.Build.0 = Release|x64
|
||||
{7FB5F4A6-74F9-471D-B358-BAA0AC1CCA0A}.Debug Lib|Win32.ActiveCfg = Debug Lib|Win32
|
||||
{7FB5F4A6-74F9-471D-B358-BAA0AC1CCA0A}.Debug Lib|Win32.Build.0 = Debug Lib|Win32
|
||||
{7FB5F4A6-74F9-471D-B358-BAA0AC1CCA0A}.Debug Lib|x64.ActiveCfg = Debug Lib|x64
|
||||
{7FB5F4A6-74F9-471D-B358-BAA0AC1CCA0A}.Debug Lib|x64.Build.0 = Debug Lib|x64
|
||||
{7FB5F4A6-74F9-471D-B358-BAA0AC1CCA0A}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{7FB5F4A6-74F9-471D-B358-BAA0AC1CCA0A}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{7FB5F4A6-74F9-471D-B358-BAA0AC1CCA0A}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{7FB5F4A6-74F9-471D-B358-BAA0AC1CCA0A}.Debug|x64.Build.0 = Debug|x64
|
||||
{7FB5F4A6-74F9-471D-B358-BAA0AC1CCA0A}.Release Lib|Win32.ActiveCfg = Release Lib|Win32
|
||||
{7FB5F4A6-74F9-471D-B358-BAA0AC1CCA0A}.Release Lib|Win32.Build.0 = Release Lib|Win32
|
||||
{7FB5F4A6-74F9-471D-B358-BAA0AC1CCA0A}.Release Lib|x64.ActiveCfg = Release Lib|x64
|
||||
{7FB5F4A6-74F9-471D-B358-BAA0AC1CCA0A}.Release Lib|x64.Build.0 = Release Lib|x64
|
||||
{7FB5F4A6-74F9-471D-B358-BAA0AC1CCA0A}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{7FB5F4A6-74F9-471D-B358-BAA0AC1CCA0A}.Release|Win32.Build.0 = Release|Win32
|
||||
{7FB5F4A6-74F9-471D-B358-BAA0AC1CCA0A}.Release|x64.ActiveCfg = Release|x64
|
||||
{7FB5F4A6-74F9-471D-B358-BAA0AC1CCA0A}.Release|x64.Build.0 = Release|x64
|
||||
{6365804B-22C6-4D5E-91F3-0C052EB55B4F}.Debug Lib|Win32.ActiveCfg = Debug Lib|Win32
|
||||
{6365804B-22C6-4D5E-91F3-0C052EB55B4F}.Debug Lib|Win32.Build.0 = Debug Lib|Win32
|
||||
{6365804B-22C6-4D5E-91F3-0C052EB55B4F}.Debug Lib|x64.ActiveCfg = Debug Lib|x64
|
||||
{6365804B-22C6-4D5E-91F3-0C052EB55B4F}.Debug Lib|x64.Build.0 = Debug Lib|x64
|
||||
{6365804B-22C6-4D5E-91F3-0C052EB55B4F}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{6365804B-22C6-4D5E-91F3-0C052EB55B4F}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{6365804B-22C6-4D5E-91F3-0C052EB55B4F}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{6365804B-22C6-4D5E-91F3-0C052EB55B4F}.Debug|x64.Build.0 = Debug|x64
|
||||
{6365804B-22C6-4D5E-91F3-0C052EB55B4F}.Release Lib|Win32.ActiveCfg = Release Lib|Win32
|
||||
{6365804B-22C6-4D5E-91F3-0C052EB55B4F}.Release Lib|Win32.Build.0 = Release Lib|Win32
|
||||
{6365804B-22C6-4D5E-91F3-0C052EB55B4F}.Release Lib|x64.ActiveCfg = Release Lib|x64
|
||||
{6365804B-22C6-4D5E-91F3-0C052EB55B4F}.Release Lib|x64.Build.0 = Release Lib|x64
|
||||
{6365804B-22C6-4D5E-91F3-0C052EB55B4F}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{6365804B-22C6-4D5E-91F3-0C052EB55B4F}.Release|Win32.Build.0 = Release|Win32
|
||||
{6365804B-22C6-4D5E-91F3-0C052EB55B4F}.Release|x64.ActiveCfg = Release|x64
|
||||
{6365804B-22C6-4D5E-91F3-0C052EB55B4F}.Release|x64.Build.0 = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="9,00"
|
||||
Version="9.00"
|
||||
Name="libupnp"
|
||||
ProjectGUID="{6227F51A-1498-4C4A-B213-F6FDED605125}"
|
||||
RootNamespace="libupnp"
|
||||
@@ -11,19 +11,22 @@
|
||||
<Platform
|
||||
Name="Win32"
|
||||
/>
|
||||
<Platform
|
||||
Name="x64"
|
||||
/>
|
||||
</Platforms>
|
||||
<ToolFiles>
|
||||
</ToolFiles>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory=".\out.vc9.$(ConfigurationName)\$(ProjectName)"
|
||||
IntermediateDirectory=".\out.vc9.$(ConfigurationName)\$(ProjectName)"
|
||||
OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\"
|
||||
IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\"
|
||||
ConfigurationType="2"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||
CharacterSet="0"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
@@ -49,19 +52,23 @@
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="..\..\pthreads\include,..\ixml\src\inc,..\ixml\inc,..\threadutil\inc,..\upnp\inc,..\upnp\src\inc,.\inc"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBUPNP_EXPORTS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_SECURE_NO_WARNINGS"
|
||||
InlineFunctionExpansion="0"
|
||||
EnableIntrinsicFunctions="true"
|
||||
WholeProgramOptimization="true"
|
||||
AdditionalIncludeDirectories="..\inc;..\msvc;..\..\upnp\inc;..\..\upnp\src\inc;..\..\ixml\inc;..\..\ixml\src\inc;..\..\threadutil\inc;..\..\pthreads;..\..\pthreads\include"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBUPNP_EXPORTS;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE"
|
||||
StringPooling="true"
|
||||
RuntimeLibrary="2"
|
||||
EnableFunctionLevelLinking="true"
|
||||
PrecompiledHeaderFile=".\Release/libupnp.pch"
|
||||
AssemblerListingLocation=".\Release/"
|
||||
ObjectFile=".\Release/"
|
||||
ProgramDataBaseFileName=".\Release/"
|
||||
BrowseInformation="1"
|
||||
PrecompiledHeaderFile=""
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
ObjectFile="$(IntDir)\"
|
||||
ProgramDataBaseFileName="$(IntDir)\$(ProjectName).pdb"
|
||||
BrowseInformation="0"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
@@ -76,14 +83,20 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="..\..\pthreads\lib\pthreadvc2.lib ws2_32.lib iphlpapi.lib"
|
||||
OutputFile=".\Release/libupnp.dll"
|
||||
AdditionalDependencies="pthreadvc2.lib ws2_32.lib iphlpapi.lib ixml.lib threadutil.lib"
|
||||
OutputFile="$(OutDir)\$(ProjectName).dll"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="true"
|
||||
ProgramDatabaseFile=".\Release/libupnp.pdb"
|
||||
AdditionalLibraryDirectories="..\..\pthreads\;..\..\pthreads\lib;$(OutDir)\..\lib;$(OutDir)\..\bin"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)\$(ProjectName).pdb"
|
||||
SubSystem="2"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
LinkTimeCodeGeneration="1"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="0"
|
||||
ImportLibrary=".\Release/libupnp.lib"
|
||||
ImportLibrary="$(TargetDir)$(TargetName).lib"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
@@ -111,11 +124,115 @@
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory=".\out.vc9.$(ConfigurationName)\$(ProjectName)"
|
||||
IntermediateDirectory=".\out.vc9.$(ConfigurationName)\$(ProjectName)"
|
||||
Name="Release|x64"
|
||||
OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\"
|
||||
IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\"
|
||||
ConfigurationType="2"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||
CharacterSet="0"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
MkTypLibCompatible="true"
|
||||
SuppressStartupBanner="true"
|
||||
TargetEnvironment="3"
|
||||
TypeLibraryName=".\Release/libupnp.tlb"
|
||||
HeaderFileName=""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="0"
|
||||
EnableIntrinsicFunctions="true"
|
||||
WholeProgramOptimization="true"
|
||||
AdditionalIncludeDirectories=""$(SolutionDir)\..\inc";"$(SolutionDir)\..\msvc";"$(SolutionDir)\..\..\upnp\inc";"$(SolutionDir)\..\..\upnp\src\inc";"$(SolutionDir)\..\..\ixml\inc";"$(SolutionDir)\..\..\ixml\src\inc";"$(SolutionDir)\..\..\threadutil\inc";"$(SolutionDir)\..\..\pthreads";"$(SolutionDir)\..\..\pthreads\include""
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBUPNP_EXPORTS;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE"
|
||||
StringPooling="true"
|
||||
RuntimeLibrary="2"
|
||||
EnableFunctionLevelLinking="true"
|
||||
PrecompiledHeaderFile=""
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
ObjectFile="$(IntDir)\"
|
||||
ProgramDataBaseFileName="$(IntDir)\$(ProjectName).pdb"
|
||||
BrowseInformation="0"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
Culture="1031"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="pthreadvc2.lib ws2_32.lib iphlpapi.lib ixml.lib threadutil.lib"
|
||||
OutputFile="$(OutDir)\$(ProjectName).dll"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="true"
|
||||
AdditionalLibraryDirectories="..\..\pthreads\;..\..\pthreads\lib;$(OutDir)\..\lib;$(OutDir)\..\bin"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)\$(ProjectName).pdb"
|
||||
SubSystem="2"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
LinkTimeCodeGeneration="1"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="0"
|
||||
ImportLibrary="$(TargetDir)$(TargetName).lib"
|
||||
TargetMachine="17"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile=".\Release/libupnp.bsc"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\"
|
||||
IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\"
|
||||
ConfigurationType="2"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||
CharacterSet="0"
|
||||
@@ -144,19 +261,20 @@
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\pthreads\include;..\..\ixml\src\inc;..\..\ixml\inc;..\..\threadutil\inc;..\..\upnp\inc;..\..\upnp\src\inc;..\inc;..\msvc"
|
||||
PreprocessorDefinitions="DEBUG;WIN32;_USRDLL;LIBUPNP_EXPORTS;UPNP_USE_MSVCPP;_CRT_SECURE_NO_WARNINGS"
|
||||
AdditionalIncludeDirectories="..\inc;..\msvc;..\..\upnp\inc;..\..\upnp\src\inc;..\..\ixml\inc;..\..\ixml\src\inc;..\..\threadutil\inc;..\..\pthreads;..\..\pthreads\include"
|
||||
PreprocessorDefinitions="DEBUG;WIN32;_USRDLL;LIBUPNP_EXPORTS;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
PrecompiledHeaderFile="$(OutDir)\libupnp.pch"
|
||||
AssemblerListingLocation="$(OutDir)\"
|
||||
ObjectFile="$(OutDir)\"
|
||||
ProgramDataBaseFileName="$(OutDir)\"
|
||||
BrowseInformation="1"
|
||||
PrecompiledHeaderFile=""
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
ObjectFile="$(IntDir)\"
|
||||
ProgramDataBaseFileName="$(IntDir)\$(ProjectName).pdb"
|
||||
BrowseInformation="0"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="4"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
@@ -171,15 +289,17 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="..\..\pthreads\lib\pthreadvc2.lib ws2_32.lib iphlpapi.lib $(TargetDir)..\ixml\ixml.lib"
|
||||
OutputFile="$(OutDir)\libupnp.dll"
|
||||
LinkIncremental="2"
|
||||
AdditionalDependencies="pthreadvc2.lib ws2_32.lib iphlpapi.lib ixml.lib threadutil.lib"
|
||||
OutputFile="$(OutDir)\$(ProjectName).dll"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="true"
|
||||
AdditionalLibraryDirectories="..\..\pthreads\;..\..\pthreads\lib;$(OutDir)\..\lib;$(OutDir)\..\bin"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)\libupnp.pdb"
|
||||
ProgramDatabaseFile="$(OutDir)\$(ProjectName).pdb"
|
||||
SubSystem="2"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="0"
|
||||
ImportLibrary="$(OutDir)\libupnp.lib"
|
||||
ImportLibrary="$(TargetDir)$(TargetName).lib"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
@@ -206,6 +326,436 @@
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|x64"
|
||||
OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\"
|
||||
IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\"
|
||||
ConfigurationType="2"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||
CharacterSet="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
MkTypLibCompatible="true"
|
||||
SuppressStartupBanner="true"
|
||||
TargetEnvironment="3"
|
||||
TypeLibraryName=".\Debug/libupnp.tlb"
|
||||
HeaderFileName=""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=""$(SolutionDir)\..\inc";"$(SolutionDir)\..\msvc";"$(SolutionDir)\..\..\upnp\inc";"$(SolutionDir)\..\..\upnp\src\inc";"$(SolutionDir)\..\..\ixml\inc";"$(SolutionDir)\..\..\ixml\src\inc";"$(SolutionDir)\..\..\threadutil\inc";"$(SolutionDir)\..\..\pthreads";"$(SolutionDir)\..\..\pthreads\include""
|
||||
PreprocessorDefinitions="DEBUG;WIN32;_USRDLL;LIBUPNP_EXPORTS;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
PrecompiledHeaderFile=""
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
ObjectFile="$(IntDir)\"
|
||||
ProgramDataBaseFileName="$(IntDir)\$(ProjectName).pdb"
|
||||
BrowseInformation="0"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
Culture="1031"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="pthreadvc2.lib ws2_32.lib iphlpapi.lib ixml.lib threadutil.lib"
|
||||
OutputFile="$(OutDir)\$(ProjectName).dll"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="true"
|
||||
AdditionalLibraryDirectories="..\..\pthreads\;..\..\pthreads\lib;$(OutDir)\..\lib;$(OutDir)\..\bin"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)\$(ProjectName).pdb"
|
||||
SubSystem="2"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="0"
|
||||
ImportLibrary="$(TargetDir)$(TargetName).lib"
|
||||
TargetMachine="17"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile="$(OutDir)\libupnp.bsc"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug Lib|Win32"
|
||||
OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\lib\"
|
||||
IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\"
|
||||
ConfigurationType="4"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||
CharacterSet="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
MkTypLibCompatible="true"
|
||||
SuppressStartupBanner="true"
|
||||
TargetEnvironment="1"
|
||||
TypeLibraryName=".\Debug/libupnp.tlb"
|
||||
HeaderFileName=""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\inc;..\msvc;..\..\upnp\inc;..\..\upnp\src\inc;..\..\ixml\inc;..\..\ixml\src\inc;..\..\threadutil\inc;..\..\pthreads;..\..\pthreads\include"
|
||||
PreprocessorDefinitions="WIN32;DEBUG;_WINDOWS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
PrecompiledHeaderFile=""
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
ObjectFile="$(IntDir)\"
|
||||
ProgramDataBaseFileName="$(OutDir)\$(ProjectName).pdb"
|
||||
BrowseInformation="0"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
Culture="1031"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
AdditionalLibraryDirectories="..\..\pthreads\;..\..\pthreads\lib;$(OutDir)\..\lib;$(OutDir)\..\bin"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile="$(OutDir)\libupnp.bsc"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug Lib|x64"
|
||||
OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\lib\"
|
||||
IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\"
|
||||
ConfigurationType="4"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||
CharacterSet="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
MkTypLibCompatible="true"
|
||||
SuppressStartupBanner="true"
|
||||
TargetEnvironment="3"
|
||||
TypeLibraryName=".\Debug/libupnp.tlb"
|
||||
HeaderFileName=""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=""$(SolutionDir)\..\inc";"$(SolutionDir)\..\msvc";"$(SolutionDir)\..\..\upnp\inc";"$(SolutionDir)\..\..\upnp\src\inc";"$(SolutionDir)\..\..\ixml\inc";"$(SolutionDir)\..\..\ixml\src\inc";"$(SolutionDir)\..\..\threadutil\inc";"$(SolutionDir)\..\..\pthreads";"$(SolutionDir)\..\..\pthreads\include""
|
||||
PreprocessorDefinitions="WIN32;DEBUG;_WINDOWS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
PrecompiledHeaderFile=""
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
ObjectFile="$(IntDir)\"
|
||||
ProgramDataBaseFileName="$(OutDir)\$(ProjectName).pdb"
|
||||
BrowseInformation="0"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
Culture="1031"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
AdditionalLibraryDirectories="..\..\pthreads\;..\..\pthreads\lib;$(OutDir)\..\lib;$(OutDir)\..\bin"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile="$(OutDir)\libupnp.bsc"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release Lib|Win32"
|
||||
OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\lib\"
|
||||
IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\"
|
||||
ConfigurationType="4"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||
CharacterSet="0"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
MkTypLibCompatible="true"
|
||||
SuppressStartupBanner="true"
|
||||
TargetEnvironment="1"
|
||||
TypeLibraryName=".\Release/libupnp.tlb"
|
||||
HeaderFileName=""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="0"
|
||||
EnableIntrinsicFunctions="true"
|
||||
WholeProgramOptimization="true"
|
||||
AdditionalIncludeDirectories="..\inc;..\msvc;..\..\upnp\inc;..\..\upnp\src\inc;..\..\ixml\inc;..\..\ixml\src\inc;..\..\threadutil\inc;..\..\pthreads;..\..\pthreads\include"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;RELEASE;_WINDOWS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE"
|
||||
StringPooling="true"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="true"
|
||||
PrecompiledHeaderFile=""
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
ObjectFile="$(IntDir)\"
|
||||
ProgramDataBaseFileName="$(OutDir)\$(ProjectName).pdb"
|
||||
BrowseInformation="0"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
Culture="1031"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
AdditionalLibraryDirectories="..\..\pthreads\;..\..\pthreads\lib;$(OutDir)\..\lib;$(OutDir)\..\bin"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile=".\Release/libupnp.bsc"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release Lib|x64"
|
||||
OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\lib\"
|
||||
IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\"
|
||||
ConfigurationType="4"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||
CharacterSet="0"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
MkTypLibCompatible="true"
|
||||
SuppressStartupBanner="true"
|
||||
TargetEnvironment="3"
|
||||
TypeLibraryName=".\Release/libupnp.tlb"
|
||||
HeaderFileName=""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="0"
|
||||
EnableIntrinsicFunctions="true"
|
||||
WholeProgramOptimization="true"
|
||||
AdditionalIncludeDirectories=""$(SolutionDir)\..\inc";"$(SolutionDir)\..\msvc";"$(SolutionDir)\..\..\upnp\inc";"$(SolutionDir)\..\..\upnp\src\inc";"$(SolutionDir)\..\..\ixml\inc";"$(SolutionDir)\..\..\ixml\src\inc";"$(SolutionDir)\..\..\threadutil\inc";"$(SolutionDir)\..\..\pthreads";"$(SolutionDir)\..\..\pthreads\include""
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;RELEASE;_WINDOWS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE"
|
||||
StringPooling="true"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="true"
|
||||
PrecompiledHeaderFile=""
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
ObjectFile="$(IntDir)\"
|
||||
ProgramDataBaseFileName="$(OutDir)\$(ProjectName).pdb"
|
||||
BrowseInformation="0"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
Culture="1031"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
AdditionalLibraryDirectories="..\..\pthreads\;..\..\pthreads\lib;$(OutDir)\..\lib;$(OutDir)\..\bin"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile=".\Release/libupnp.bsc"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
@@ -214,14 +764,6 @@
|
||||
Name="sources"
|
||||
Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\..\upnp\src\api\ActionComplete.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\src\api\ActionRequest.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\ixml\src\attr.c"
|
||||
>
|
||||
@@ -230,10 +772,6 @@
|
||||
RelativePath="..\..\upnp\src\genlib\client_table\client_table.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\src\api\Discovery.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\ixml\src\document.c"
|
||||
>
|
||||
@@ -242,18 +780,6 @@
|
||||
RelativePath="..\..\ixml\src\element.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\src\api\Event.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\src\api\EventSubscribe.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\src\api\FileInfo.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\threadutil\src\FreeList.c"
|
||||
>
|
||||
@@ -278,10 +804,6 @@
|
||||
RelativePath="..\..\upnp\src\genlib\net\http\httpreadwrite.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\src\inet_pton.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\ixml\src\ixml.c"
|
||||
>
|
||||
@@ -354,10 +876,6 @@
|
||||
RelativePath="..\..\upnp\src\ssdp\ssdp_device.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\src\ssdp\ssdp_ResultData.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\src\ssdp\ssdp_server.c"
|
||||
>
|
||||
@@ -366,22 +884,10 @@
|
||||
RelativePath="..\..\upnp\src\genlib\net\http\statcodes.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\src\api\StateVarComplete.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\src\api\StateVarRequest.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\src\genlib\util\strintmap.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\src\api\SubscriptionRequest.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\src\uuid\sysdep.c"
|
||||
>
|
||||
@@ -444,11 +950,11 @@
|
||||
Filter="h;hpp;hxx;hm;inl"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\..\upnp\inc\ActionComplete.h"
|
||||
RelativePath="..\inc\autoconfig.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\inc\ActionRequest.h"
|
||||
RelativePath="..\..\upnp\inc\Callback.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
@@ -459,22 +965,6 @@
|
||||
RelativePath="..\..\upnp\src\inc\config.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\inc\Discovery.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\inc\Event.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\inc\EventSubscribe.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\inc\FileInfo.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\src\inc\gena.h"
|
||||
>
|
||||
@@ -495,10 +985,6 @@
|
||||
RelativePath="..\..\upnp\src\inc\gmtdate.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\src\inc\http_client.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\src\inc\httpparser.h"
|
||||
>
|
||||
@@ -508,7 +994,7 @@
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\src\inc\inet_pton.h"
|
||||
RelativePath="..\msvc\inttypes.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
@@ -559,28 +1045,32 @@
|
||||
RelativePath="..\..\upnp\src\inc\statcodes.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\inc\StateVarComplete.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\inc\StateVarRequest.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\src\inc\statuscodes.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\msvc\stdint.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\src\inc\strintmap.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\inc\SubscriptionRequest.h"
|
||||
RelativePath="..\..\upnp\src\inc\sysdep.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\src\inc\sysdep.h"
|
||||
RelativePath="..\..\upnp\inc\TemplateInclude.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\inc\TemplateSource.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\inc\TemplateUndef.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
@@ -599,10 +1089,30 @@
|
||||
RelativePath="..\..\upnp\src\inc\upnpapi.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\inc\upnpconfig.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\inc\upnpdebug.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\inc\UpnpGlobal.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\inc\UpnpInet.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\inc\UpnpIntTypes.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\inc\UpnpStdInt.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\inc\UpnpString.h"
|
||||
>
|
||||
@@ -611,6 +1121,14 @@
|
||||
RelativePath="..\..\upnp\inc\upnptools.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\inc\UpnpUniStd.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\src\inc\upnputil.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\src\inc\uri.h"
|
||||
>
|
||||
@@ -619,27 +1137,19 @@
|
||||
RelativePath="..\..\upnp\src\inc\urlconfig.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\src\inc\util.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\src\inc\utilall.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\src\inc\uuid.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\src\inc\VirtualDir.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\src\inc\webserver.h"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<File
|
||||
RelativePath="..\..\..\..\libupnp_win32.patch"
|
||||
>
|
||||
</File>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="9,00"
|
||||
Version="9.00"
|
||||
Name="threadutil"
|
||||
ProjectGUID="{1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}"
|
||||
RootNamespace="threadutil"
|
||||
@@ -11,14 +11,17 @@
|
||||
<Platform
|
||||
Name="Win32"
|
||||
/>
|
||||
<Platform
|
||||
Name="x64"
|
||||
/>
|
||||
</Platforms>
|
||||
<ToolFiles>
|
||||
</ToolFiles>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory=".\out.vc9.$(ConfigurationName)\$(ProjectName)"
|
||||
IntermediateDirectory=".\out.vc9.$(ConfigurationName)\$(ProjectName)"
|
||||
OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\lib\"
|
||||
IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\"
|
||||
ConfigurationType="4"
|
||||
CharacterSet="0"
|
||||
>
|
||||
@@ -40,13 +43,15 @@
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\threadutil\inc;..\..\upnp\inc;..\..\ixml\inc;..\..\pthreads\include"
|
||||
PreprocessorDefinitions="DEBUG;WIN32;_USRDLL;LIBUPNP_EXPORTS;UPNP_USE_MSVCPP;_CRT_SECURE_NO_WARNINGS"
|
||||
AdditionalIncludeDirectories="..\..\threadutil\inc;..\..\upnp\inc;..\..\pthreads;..\..\pthreads\include"
|
||||
PreprocessorDefinitions="DEBUG;WIN32;_USRDLL;LIBUPNP_EXPORTS;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
ProgramDataBaseFileName="$(OutDir)\$(ProjectName).pdb"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="4"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
/>
|
||||
<Tool
|
||||
@@ -60,8 +65,73 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
AdditionalDependencies="pthreadVC2.lib"
|
||||
AdditionalLibraryDirectories="..\..\pthreads\lib"
|
||||
AdditionalLibraryDirectories="..\..\pthreads\;..\..\pthreads\lib;$(OutDir)\..\lib;$(OutDir)\..\bin"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|x64"
|
||||
OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\lib\"
|
||||
IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\"
|
||||
ConfigurationType="4"
|
||||
CharacterSet="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\threadutil\inc;..\..\upnp\inc;..\..\pthreads;..\..\pthreads\include"
|
||||
PreprocessorDefinitions="DEBUG;WIN32;_USRDLL;LIBUPNP_EXPORTS;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
ProgramDataBaseFileName="$(OutDir)\$(ProjectName).pdb"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
AdditionalLibraryDirectories="..\..\pthreads\;..\..\pthreads\lib;$(OutDir)\..\lib;$(OutDir)\..\bin"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
@@ -81,9 +151,9 @@
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory=".\out.vc9.$(ConfigurationName)\$(ProjectName)"
|
||||
IntermediateDirectory=".\out.vc9.$(ConfigurationName)\$(ProjectName)"
|
||||
ConfigurationType="1"
|
||||
OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\lib\"
|
||||
IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\"
|
||||
ConfigurationType="4"
|
||||
CharacterSet="0"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
@@ -105,11 +175,15 @@
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="0"
|
||||
EnableIntrinsicFunctions="true"
|
||||
AdditionalIncludeDirectories="..\..\threadutil\inc;..\..\upnp\inc;..\..\ixml\inc;..\..\pthreads\include"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBUPNP_EXPORTS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_SECURE_NO_WARNINGS"
|
||||
AdditionalIncludeDirectories="..\..\threadutil\inc;..\..\upnp\inc;..\..\pthreads;..\..\pthreads\include"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBUPNP_EXPORTS;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE"
|
||||
StringPooling="true"
|
||||
RuntimeLibrary="2"
|
||||
EnableFunctionLevelLinking="true"
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
ProgramDataBaseFileName="$(OutDir)\$(ProjectName).pdb"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
@@ -124,18 +198,12 @@
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
GenerateDebugInformation="true"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
TargetMachine="1"
|
||||
Name="VCLibrarianTool"
|
||||
AdditionalLibraryDirectories="..\..\pthreads\;..\..\pthreads\lib;$(OutDir)\..\lib;$(OutDir)\..\bin"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
@@ -146,7 +214,341 @@
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|x64"
|
||||
OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\lib\"
|
||||
IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\"
|
||||
ConfigurationType="4"
|
||||
CharacterSet="0"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="0"
|
||||
EnableIntrinsicFunctions="true"
|
||||
AdditionalIncludeDirectories="..\..\threadutil\inc;..\..\upnp\inc;..\..\pthreads;..\..\pthreads\include"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBUPNP_EXPORTS;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE"
|
||||
StringPooling="true"
|
||||
RuntimeLibrary="2"
|
||||
EnableFunctionLevelLinking="true"
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
ProgramDataBaseFileName="$(OutDir)\$(ProjectName).pdb"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
AdditionalLibraryDirectories="..\..\pthreads\;..\..\pthreads\lib;$(OutDir)\..\lib;$(OutDir)\..\bin"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug Lib|Win32"
|
||||
OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\lib\"
|
||||
IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\"
|
||||
ConfigurationType="4"
|
||||
CharacterSet="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\threadutil\inc;..\..\upnp\inc;..\..\pthreads;..\..\pthreads\include"
|
||||
PreprocessorDefinitions="DEBUG;WIN32;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
ProgramDataBaseFileName="$(OutDir)\$(ProjectName).pdb"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
AdditionalLibraryDirectories="..\..\pthreads\;..\..\pthreads\lib;$(OutDir)\..\lib;$(OutDir)\..\bin"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug Lib|x64"
|
||||
OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\lib\"
|
||||
IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\"
|
||||
ConfigurationType="4"
|
||||
CharacterSet="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\threadutil\inc;..\..\upnp\inc;..\..\pthreads;..\..\pthreads\include"
|
||||
PreprocessorDefinitions="DEBUG;WIN32;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
ProgramDataBaseFileName="$(OutDir)\$(ProjectName).pdb"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
AdditionalLibraryDirectories="..\..\pthreads\;..\..\pthreads\lib;$(OutDir)\..\lib;$(OutDir)\..\bin"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release Lib|Win32"
|
||||
OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\lib\"
|
||||
IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\"
|
||||
ConfigurationType="4"
|
||||
CharacterSet="0"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="0"
|
||||
EnableIntrinsicFunctions="true"
|
||||
AdditionalIncludeDirectories="..\..\threadutil\inc;..\..\upnp\inc;..\..\pthreads;..\..\pthreads\include"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;RELEASE;_WINDOWS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE"
|
||||
StringPooling="true"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="true"
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
ProgramDataBaseFileName="$(OutDir)\$(ProjectName).pdb"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
AdditionalLibraryDirectories="..\..\pthreads\;..\..\pthreads\lib;$(OutDir)\..\lib;$(OutDir)\..\bin"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release Lib|x64"
|
||||
OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\lib\"
|
||||
IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\"
|
||||
ConfigurationType="4"
|
||||
CharacterSet="0"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="0"
|
||||
EnableIntrinsicFunctions="true"
|
||||
AdditionalIncludeDirectories="..\..\threadutil\inc;..\..\upnp\inc;..\..\pthreads;..\..\pthreads\include"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;RELEASE;_WINDOWS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE"
|
||||
StringPooling="true"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="true"
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
ProgramDataBaseFileName="$(OutDir)\$(ProjectName).pdb"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
AdditionalLibraryDirectories="..\..\pthreads\;..\..\pthreads\lib;$(OutDir)\..\lib;$(OutDir)\..\bin"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
@@ -204,12 +606,6 @@
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Resource Files"
|
||||
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
|
||||
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
|
||||
>
|
||||
</Filter>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="9,00"
|
||||
Version="9.00"
|
||||
Name="tvcombo"
|
||||
ProjectGUID="{6365804B-22C6-4D5E-91F3-0C052EB55B4F}"
|
||||
RootNamespace="tvcombo"
|
||||
@@ -11,16 +11,19 @@
|
||||
<Platform
|
||||
Name="Win32"
|
||||
/>
|
||||
<Platform
|
||||
Name="x64"
|
||||
/>
|
||||
</Platforms>
|
||||
<ToolFiles>
|
||||
</ToolFiles>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory=".\out.vc9.$(ConfigurationName)\$(ProjectName)"
|
||||
IntermediateDirectory=".\out.vc9.$(ConfigurationName)\$(ProjectName)"
|
||||
OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\"
|
||||
IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
CharacterSet="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
@@ -40,13 +43,15 @@
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\upnp\inc;..\..\upnp\sample\common;..\..\upnp\sample;..\..\ixml\inc;..\..\pthreads\include;..\inc;..\..\threadutil\inc;..\..\upnp\sample\tvcombo"
|
||||
PreprocessorDefinitions="DEBUG;WIN32"
|
||||
AdditionalIncludeDirectories="..\..\upnp\inc;..\..\upnp\sample\common;..\..\upnp\sample;..\..\ixml\inc;..\..\pthreads;..\..\pthreads\include;..\inc;..\..\threadutil\inc;..\..\upnp\sample\tvcombo"
|
||||
PreprocessorDefinitions="WIN32;DEBUG;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
ProgramDataBaseFileName="$(IntDir)\$(ProjectName).pdb"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="4"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
/>
|
||||
<Tool
|
||||
@@ -60,9 +65,12 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="..\..\pthreads\lib\pthreadVC2.lib $(TargetDir)..\libupnp\libupnp.lib"
|
||||
AdditionalLibraryDirectories=""$(TargetDir)..\ixml";"$(TargetDir)..\threadutil";"$(TargetDir)..\libupnp""
|
||||
AdditionalDependencies="pthreadVC2.lib ixml.lib threadutil.lib libupnp.lib"
|
||||
LinkIncremental="1"
|
||||
AdditionalLibraryDirectories="..\..\pthreads\;..\..\pthreads\lib;$(OutDir)\..\lib;$(OutDir)\..\bin"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)\$(ProjectName).pdb"
|
||||
SubSystem="1"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
@@ -88,11 +96,89 @@
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory=".\out.vc9.$(ConfigurationName)\$(ProjectName)"
|
||||
IntermediateDirectory=".\out.vc9.$(ConfigurationName)\$(ProjectName)"
|
||||
Name="Debug|x64"
|
||||
OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\"
|
||||
IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
CharacterSet="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\upnp\inc;..\..\upnp\sample\common;..\..\upnp\sample;..\..\ixml\inc;..\..\pthreads;..\..\pthreads\include;..\inc;..\..\threadutil\inc;..\..\upnp\sample\tvcombo"
|
||||
PreprocessorDefinitions="WIN32;DEBUG;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
ProgramDataBaseFileName="$(IntDir)\$(ProjectName).pdb"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="pthreadVC2.lib ixml.lib threadutil.lib libupnp.lib"
|
||||
LinkIncremental="1"
|
||||
AdditionalLibraryDirectories="..\..\pthreads\;..\..\pthreads\lib;$(OutDir)\..\lib;$(OutDir)\..\bin"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)\$(ProjectName).pdb"
|
||||
SubSystem="1"
|
||||
TargetMachine="17"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\"
|
||||
IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="0"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
@@ -114,8 +200,13 @@
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
EnableIntrinsicFunctions="true"
|
||||
AdditionalIncludeDirectories="..\..\upnp\inc;..\..\upnp\sample\common;..\..\upnp\sample;..\..\ixml\inc;..\..\pthreads;..\..\pthreads\include;..\inc;..\..\threadutil\inc;..\..\upnp\sample\tvcombo"
|
||||
PreprocessorDefinitions="WIN32;RELEASE;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE"
|
||||
StringPooling="true"
|
||||
RuntimeLibrary="2"
|
||||
EnableFunctionLevelLinking="true"
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
ProgramDataBaseFileName="$(IntDir)\$(ProjectName).pdb"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
@@ -131,7 +222,12 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="pthreadVC2.lib ixml.lib threadutil.lib libupnp.lib"
|
||||
LinkIncremental="1"
|
||||
AdditionalLibraryDirectories="..\..\pthreads\;..\..\pthreads\lib;$(OutDir)\..\lib;$(OutDir)\..\bin"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)\$(ProjectName).pdb"
|
||||
SubSystem="1"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
TargetMachine="1"
|
||||
@@ -158,6 +254,406 @@
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|x64"
|
||||
OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\"
|
||||
IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="0"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
EnableIntrinsicFunctions="true"
|
||||
AdditionalIncludeDirectories="..\..\upnp\inc;..\..\upnp\sample\common;..\..\upnp\sample;..\..\ixml\inc;..\..\pthreads;..\..\pthreads\include;..\inc;..\..\threadutil\inc;..\..\upnp\sample\tvcombo"
|
||||
PreprocessorDefinitions="WIN32;RELEASE;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE"
|
||||
StringPooling="true"
|
||||
RuntimeLibrary="2"
|
||||
EnableFunctionLevelLinking="true"
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
ProgramDataBaseFileName="$(IntDir)\$(ProjectName).pdb"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="pthreadVC2.lib ixml.lib threadutil.lib libupnp.lib"
|
||||
LinkIncremental="1"
|
||||
AdditionalLibraryDirectories="..\..\pthreads\;..\..\pthreads\lib;$(OutDir)\..\lib;$(OutDir)\..\bin"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)\$(ProjectName).pdb"
|
||||
SubSystem="1"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
TargetMachine="17"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug Lib|Win32"
|
||||
OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\"
|
||||
IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\upnp\inc;..\..\upnp\sample\common;..\..\upnp\sample;..\..\ixml\inc;..\..\pthreads;..\..\pthreads\include;..\inc;..\..\threadutil\inc;..\..\upnp\sample\tvcombo"
|
||||
PreprocessorDefinitions="WIN32;DEBUG;_WINDOWS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
ProgramDataBaseFileName="$(IntDir)\$(ProjectName).pdb"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="pthreadVC2.lib ixml.lib threadutil.lib libupnp.lib ws2_32.lib iphlpapi.lib "
|
||||
LinkIncremental="1"
|
||||
AdditionalLibraryDirectories="..\..\pthreads\;..\..\pthreads\lib;$(OutDir)\..\lib;$(OutDir)\..\bin"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)\$(ProjectName).pdb"
|
||||
SubSystem="1"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug Lib|x64"
|
||||
OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\"
|
||||
IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\upnp\inc;..\..\upnp\sample\common;..\..\upnp\sample;..\..\ixml\inc;..\..\pthreads;..\..\pthreads\include;..\inc;..\..\threadutil\inc;..\..\upnp\sample\tvcombo"
|
||||
PreprocessorDefinitions="WIN32;DEBUG;_WINDOWS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
ProgramDataBaseFileName="$(IntDir)\$(ProjectName).pdb"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="pthreadVC2.lib ixml.lib threadutil.lib libupnp.lib ws2_32.lib iphlpapi.lib "
|
||||
LinkIncremental="1"
|
||||
AdditionalLibraryDirectories="..\..\pthreads\;..\..\pthreads\lib;$(OutDir)\..\lib;$(OutDir)\..\bin"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)\$(ProjectName).pdb"
|
||||
SubSystem="1"
|
||||
TargetMachine="17"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release Lib|Win32"
|
||||
OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\"
|
||||
IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="0"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
EnableIntrinsicFunctions="true"
|
||||
AdditionalIncludeDirectories="..\..\upnp\inc;..\..\upnp\sample\common;..\..\upnp\sample;..\..\ixml\inc;..\..\pthreads;..\..\pthreads\include;..\inc;..\..\threadutil\inc;..\..\upnp\sample\tvcombo"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;RELEASE;_WINDOWS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE"
|
||||
StringPooling="true"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="true"
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
ProgramDataBaseFileName="$(IntDir)\$(ProjectName).pdb"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="pthreadVC2.lib ixml.lib threadutil.lib libupnp.lib ws2_32.lib iphlpapi.lib "
|
||||
LinkIncremental="1"
|
||||
AdditionalLibraryDirectories="..\..\pthreads\;..\..\pthreads\lib;$(OutDir)\..\lib;$(OutDir)\..\bin"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)\$(ProjectName).pdb"
|
||||
SubSystem="1"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release Lib|x64"
|
||||
OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\"
|
||||
IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="0"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
EnableIntrinsicFunctions="true"
|
||||
AdditionalIncludeDirectories="..\..\upnp\inc;..\..\upnp\sample\common;..\..\upnp\sample;..\..\ixml\inc;..\..\pthreads;..\..\pthreads\include;..\inc;..\..\threadutil\inc;..\..\upnp\sample\tvcombo"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;RELEASE;_WINDOWS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE"
|
||||
StringPooling="true"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="true"
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
ProgramDataBaseFileName="$(IntDir)\$(ProjectName).pdb"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="pthreadVC2.lib ixml.lib threadutil.lib libupnp.lib ws2_32.lib iphlpapi.lib "
|
||||
LinkIncremental="1"
|
||||
AdditionalLibraryDirectories="..\..\pthreads\;..\..\pthreads\lib;$(OutDir)\..\lib;$(OutDir)\..\bin"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)\$(ProjectName).pdb"
|
||||
SubSystem="1"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
TargetMachine="17"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
@@ -172,24 +668,18 @@
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\sample\tvcombo\linux\upnp_tv_combo_main.c"
|
||||
RelativePath="..\..\upnp\sample\linux\tv_combo_main.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\sample\tvcombo\upnp_tv_ctrlpt.c"
|
||||
RelativePath="..\..\upnp\sample\common\tv_ctrlpt.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\sample\tvcombo\upnp_tv_device.c"
|
||||
RelativePath="..\..\upnp\sample\common\tv_device.c"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Resource Files"
|
||||
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
|
||||
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
|
||||
>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Header Files"
|
||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
||||
@@ -200,11 +690,11 @@
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\sample\tvcombo\upnp_tv_ctrlpt.h"
|
||||
RelativePath="..\..\upnp\sample\common\tv_ctrlpt.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\sample\tvcombo\upnp_tv_device.h"
|
||||
RelativePath="..\..\upnp\sample\common\tv_device.h"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
|
||||
@@ -11,14 +11,17 @@
|
||||
<Platform
|
||||
Name="Win32"
|
||||
/>
|
||||
<Platform
|
||||
Name="x64"
|
||||
/>
|
||||
</Platforms>
|
||||
<ToolFiles>
|
||||
</ToolFiles>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory=".\out.vc9.$(ConfigurationName)\$(ProjectName)"
|
||||
IntermediateDirectory=".\out.vc9.$(ConfigurationName)\$(ProjectName)"
|
||||
OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\"
|
||||
IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
>
|
||||
@@ -40,13 +43,16 @@
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\upnp\inc;..\..\upnp\sample\common;..\..\ixml\inc;..\inc;..\..\threadutil\inc;..\..\pthreads\include;..\..\upnp\sample\tvctrlpt\linux;..\..\upnp\sample\tvctrlpt"
|
||||
PreprocessorDefinitions="WIN32;DEBUG"
|
||||
AdditionalIncludeDirectories="..\..\upnp\inc;..\..\upnp\sample\common;..\..\ixml\inc;..\inc;..\..\threadutil\inc;..\..\pthreads;..\..\pthreads\include;..\..\upnp\sample\tvctrlpt\linux;..\..\upnp\sample\tvctrlpt"
|
||||
PreprocessorDefinitions="WIN32;DEBUG;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
ProgramDataBaseFileName="$(IntDir)\$(ProjectName).pdb"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="4"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
@@ -59,9 +65,12 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="..\..\pthreads\lib\pthreadVC2.lib ixml.lib threadutil.lib libupnp.lib"
|
||||
AdditionalLibraryDirectories=""$(OutDir)";".\out.vc9.$(ConfigurationName)\ixml";".\out.vc9.$(ConfigurationName)\threadutil";".\out.vc9.$(ConfigurationName)\libupnp""
|
||||
AdditionalDependencies="pthreadVC2.lib ixml.lib threadutil.lib libupnp.lib"
|
||||
LinkIncremental="1"
|
||||
AdditionalLibraryDirectories="..\..\pthreads\;..\..\pthreads\lib;$(OutDir)\..\lib;$(OutDir)\..\bin"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)\$(ProjectName).pdb"
|
||||
SubSystem="1"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
@@ -86,10 +95,88 @@
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|x64"
|
||||
OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\"
|
||||
IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\upnp\inc;..\..\upnp\sample\common;..\..\ixml\inc;..\inc;..\..\threadutil\inc;..\..\pthreads;..\..\pthreads\include;..\..\upnp\sample\tvctrlpt\linux;..\..\upnp\sample\tvctrlpt"
|
||||
PreprocessorDefinitions="WIN32;DEBUG;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
ProgramDataBaseFileName="$(IntDir)\$(ProjectName).pdb"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="pthreadVC2.lib ixml.lib threadutil.lib libupnp.lib"
|
||||
LinkIncremental="1"
|
||||
AdditionalLibraryDirectories="..\..\pthreads\;..\..\pthreads\lib;$(OutDir)\..\lib;$(OutDir)\..\bin"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)\$(ProjectName).pdb"
|
||||
SubSystem="1"
|
||||
TargetMachine="17"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
||||
IntermediateDirectory="$(ConfigurationName)"
|
||||
OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\"
|
||||
IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="1"
|
||||
@@ -113,10 +200,16 @@
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
EnableIntrinsicFunctions="true"
|
||||
AdditionalIncludeDirectories="..\..\upnp\inc;..\..\upnp\sample\common;..\..\upnp\sample;..\..\ixml\inc;..\..\pthreads;..\..\pthreads\include;..\inc;..\..\threadutil\inc;..\..\upnp\sample\tvcombo"
|
||||
PreprocessorDefinitions="WIN32;RELEASE;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE"
|
||||
StringPooling="true"
|
||||
RuntimeLibrary="2"
|
||||
EnableFunctionLevelLinking="true"
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
ProgramDataBaseFileName="$(IntDir)\$(ProjectName).pdb"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
@@ -129,7 +222,12 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="pthreadVC2.lib ixml.lib threadutil.lib libupnp.lib"
|
||||
LinkIncremental="1"
|
||||
AdditionalLibraryDirectories="..\..\pthreads\;..\..\pthreads\lib;$(OutDir)\..\lib;$(OutDir)\..\bin"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)\$(ProjectName).pdb"
|
||||
SubSystem="1"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
TargetMachine="1"
|
||||
@@ -156,6 +254,406 @@
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|x64"
|
||||
OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\"
|
||||
IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
EnableIntrinsicFunctions="true"
|
||||
AdditionalIncludeDirectories="..\..\upnp\inc;..\..\upnp\sample\common;..\..\upnp\sample;..\..\ixml\inc;..\..\pthreads;..\..\pthreads\include;..\inc;..\..\threadutil\inc;..\..\upnp\sample\tvcombo"
|
||||
PreprocessorDefinitions="WIN32;RELEASE;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE"
|
||||
StringPooling="true"
|
||||
RuntimeLibrary="2"
|
||||
EnableFunctionLevelLinking="true"
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
ProgramDataBaseFileName="$(IntDir)\$(ProjectName).pdb"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="pthreadVC2.lib ixml.lib threadutil.lib libupnp.lib"
|
||||
LinkIncremental="1"
|
||||
AdditionalLibraryDirectories="..\..\pthreads\;..\..\pthreads\lib;$(OutDir)\..\lib;$(OutDir)\..\bin"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)\$(ProjectName).pdb"
|
||||
SubSystem="1"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
TargetMachine="17"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug Lib|Win32"
|
||||
OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\"
|
||||
IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\upnp\inc;..\..\upnp\sample\common;..\..\ixml\inc;..\inc;..\..\threadutil\inc;..\..\pthreads;..\..\pthreads\include;..\..\upnp\sample\tvctrlpt\linux;..\..\upnp\sample\tvctrlpt"
|
||||
PreprocessorDefinitions="WIN32;DEBUG;_WINDOWS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
ProgramDataBaseFileName="$(IntDir)\$(ProjectName).pdb"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="pthreadVC2.lib ixml.lib threadutil.lib libupnp.lib ws2_32.lib iphlpapi.lib "
|
||||
LinkIncremental="1"
|
||||
AdditionalLibraryDirectories="..\..\pthreads\;..\..\pthreads\lib;$(OutDir)\..\lib;$(OutDir)\..\bin"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)\$(ProjectName).pdb"
|
||||
SubSystem="1"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug Lib|x64"
|
||||
OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\"
|
||||
IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\upnp\inc;..\..\upnp\sample\common;..\..\ixml\inc;..\inc;..\..\threadutil\inc;..\..\pthreads;..\..\pthreads\include;..\..\upnp\sample\tvctrlpt\linux;..\..\upnp\sample\tvctrlpt"
|
||||
PreprocessorDefinitions="WIN32;DEBUG;_WINDOWS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
ProgramDataBaseFileName="$(IntDir)\$(ProjectName).pdb"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="pthreadVC2.lib ixml.lib threadutil.lib libupnp.lib ws2_32.lib iphlpapi.lib "
|
||||
LinkIncremental="1"
|
||||
AdditionalLibraryDirectories="..\..\pthreads\;..\..\pthreads\lib;$(OutDir)\..\lib;$(OutDir)\..\bin"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)\$(ProjectName).pdb"
|
||||
SubSystem="1"
|
||||
TargetMachine="17"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release Lib|Win32"
|
||||
OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\"
|
||||
IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
EnableIntrinsicFunctions="true"
|
||||
AdditionalIncludeDirectories="..\..\upnp\inc;..\..\upnp\sample\common;..\..\upnp\sample;..\..\ixml\inc;..\..\pthreads;..\..\pthreads\include;..\inc;..\..\threadutil\inc;..\..\upnp\sample\tvcombo"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;RELEASE;_WINDOWS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE"
|
||||
StringPooling="true"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="true"
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
ProgramDataBaseFileName="$(IntDir)\$(ProjectName).pdb"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="pthreadVC2.lib ixml.lib threadutil.lib libupnp.lib ws2_32.lib iphlpapi.lib "
|
||||
LinkIncremental="1"
|
||||
AdditionalLibraryDirectories="..\..\pthreads\;..\..\pthreads\lib;$(OutDir)\..\lib;$(OutDir)\..\bin"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)\$(ProjectName).pdb"
|
||||
SubSystem="1"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release Lib|x64"
|
||||
OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\"
|
||||
IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
EnableIntrinsicFunctions="true"
|
||||
AdditionalIncludeDirectories="..\..\upnp\inc;..\..\upnp\sample\common;..\..\upnp\sample;..\..\ixml\inc;..\..\pthreads;..\..\pthreads\include;..\inc;..\..\threadutil\inc;..\..\upnp\sample\tvcombo"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;RELEASE;_WINDOWS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE"
|
||||
StringPooling="true"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="true"
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
ProgramDataBaseFileName="$(IntDir)\$(ProjectName).pdb"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="pthreadVC2.lib ixml.lib threadutil.lib libupnp.lib ws2_32.lib iphlpapi.lib "
|
||||
LinkIncremental="1"
|
||||
AdditionalLibraryDirectories="..\..\pthreads\;..\..\pthreads\lib;$(OutDir)\..\lib;$(OutDir)\..\bin"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)\$(ProjectName).pdb"
|
||||
SubSystem="1"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
TargetMachine="17"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
@@ -170,11 +668,11 @@
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\sample\tvctrlpt\upnp_tv_ctrlpt.c"
|
||||
RelativePath="..\..\upnp\sample\common\tv_ctrlpt.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\sample\tvctrlpt\linux\upnp_tv_ctrlpt_main.c"
|
||||
RelativePath="..\..\upnp\sample\linux\tv_ctrlpt_main.c"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
@@ -188,16 +686,10 @@
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\sample\tvctrlpt\upnp_tv_ctrlpt.h"
|
||||
RelativePath="..\..\upnp\sample\common\tv_ctrlpt.h"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Resource Files"
|
||||
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
|
||||
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
|
||||
>
|
||||
</Filter>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
|
||||
@@ -11,14 +11,17 @@
|
||||
<Platform
|
||||
Name="Win32"
|
||||
/>
|
||||
<Platform
|
||||
Name="x64"
|
||||
/>
|
||||
</Platforms>
|
||||
<ToolFiles>
|
||||
</ToolFiles>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory=".\out.vc9.$(ConfigurationName)\$(ProjectName)"
|
||||
IntermediateDirectory=".\out.vc9.$(ConfigurationName)\$(ProjectName)"
|
||||
OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\"
|
||||
IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
>
|
||||
@@ -40,13 +43,16 @@
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\upnp\inc;..\..\ixml\inc;..\..\upnp\sample\common;..\inc;..\..\threadutil\inc;..\..\pthreads\include;..\..\upnp\sample\tvdevice;..\..\upnp\sample\tvdevice\linux"
|
||||
PreprocessorDefinitions="WIN32;DEBUG"
|
||||
AdditionalIncludeDirectories="..\..\upnp\inc;..\..\ixml\inc;..\..\upnp\sample\common;..\inc;..\..\threadutil\inc;..\..\pthreads;..\..\pthreads\include;..\..\upnp\sample\tvdevice;..\..\upnp\sample\tvdevice\linux"
|
||||
PreprocessorDefinitions="WIN32;DEBUG;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
ProgramDataBaseFileName="$(IntDir)\$(ProjectName).pdb"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="4"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
@@ -59,9 +65,12 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="..\..\pthreads\lib\pthreadVC2.lib ixml.lib threadutil.lib libupnp.lib"
|
||||
AdditionalLibraryDirectories=""$(OutDir)";".\out.vc9.$(ConfigurationName)\ixml";".\out.vc9.$(ConfigurationName)\threadutil";".\out.vc9.$(ConfigurationName)\libupnp""
|
||||
AdditionalDependencies="pthreadVC2.lib ixml.lib threadutil.lib libupnp.lib"
|
||||
LinkIncremental="1"
|
||||
AdditionalLibraryDirectories="..\..\pthreads\;..\..\pthreads\lib;$(OutDir)\..\lib;$(OutDir)\..\bin"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)\$(ProjectName).pdb"
|
||||
SubSystem="1"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
@@ -86,10 +95,88 @@
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|x64"
|
||||
OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\"
|
||||
IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\upnp\inc;..\..\ixml\inc;..\..\upnp\sample\common;..\inc;..\..\threadutil\inc;..\..\pthreads;..\..\pthreads\include;..\..\upnp\sample\tvdevice;..\..\upnp\sample\tvdevice\linux"
|
||||
PreprocessorDefinitions="WIN32;DEBUG;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
ProgramDataBaseFileName="$(IntDir)\$(ProjectName).pdb"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="pthreadVC2.lib ixml.lib threadutil.lib libupnp.lib"
|
||||
LinkIncremental="1"
|
||||
AdditionalLibraryDirectories="..\..\pthreads\;..\..\pthreads\lib;$(OutDir)\..\lib;$(OutDir)\..\bin"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)\$(ProjectName).pdb"
|
||||
SubSystem="1"
|
||||
TargetMachine="17"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
||||
IntermediateDirectory="$(ConfigurationName)"
|
||||
OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\"
|
||||
IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="1"
|
||||
@@ -113,10 +200,16 @@
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
EnableIntrinsicFunctions="true"
|
||||
AdditionalIncludeDirectories="..\..\upnp\inc;..\..\upnp\sample\common;..\..\upnp\sample;..\..\ixml\inc;..\..\pthreads;..\..\pthreads\include;..\inc;..\..\threadutil\inc;..\..\upnp\sample\tvcombo"
|
||||
PreprocessorDefinitions="WIN32;RELEASE;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE"
|
||||
StringPooling="true"
|
||||
RuntimeLibrary="2"
|
||||
EnableFunctionLevelLinking="true"
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
ProgramDataBaseFileName="$(IntDir)\$(ProjectName).pdb"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
@@ -129,7 +222,12 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="pthreadVC2.lib ixml.lib threadutil.lib libupnp.lib"
|
||||
LinkIncremental="1"
|
||||
AdditionalLibraryDirectories="..\..\pthreads\;..\..\pthreads\lib;$(OutDir)\..\lib;$(OutDir)\..\bin"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)\$(ProjectName).pdb"
|
||||
SubSystem="1"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
TargetMachine="1"
|
||||
@@ -156,6 +254,406 @@
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|x64"
|
||||
OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\"
|
||||
IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
EnableIntrinsicFunctions="true"
|
||||
AdditionalIncludeDirectories="..\..\upnp\inc;..\..\upnp\sample\common;..\..\upnp\sample;..\..\ixml\inc;..\..\pthreads;..\..\pthreads\include;..\inc;..\..\threadutil\inc;..\..\upnp\sample\tvcombo"
|
||||
PreprocessorDefinitions="WIN32;RELEASE;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE"
|
||||
StringPooling="true"
|
||||
RuntimeLibrary="2"
|
||||
EnableFunctionLevelLinking="true"
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
ProgramDataBaseFileName="$(IntDir)\$(ProjectName).pdb"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="pthreadVC2.lib ixml.lib threadutil.lib libupnp.lib"
|
||||
LinkIncremental="1"
|
||||
AdditionalLibraryDirectories="..\..\pthreads\;..\..\pthreads\lib;$(OutDir)\..\lib;$(OutDir)\..\bin"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)\$(ProjectName).pdb"
|
||||
SubSystem="1"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
TargetMachine="17"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug Lib|Win32"
|
||||
OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\"
|
||||
IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\upnp\inc;..\..\ixml\inc;..\..\upnp\sample\common;..\inc;..\..\threadutil\inc;..\..\pthreads;..\..\pthreads\include;..\..\upnp\sample\tvdevice;..\..\upnp\sample\tvdevice\linux"
|
||||
PreprocessorDefinitions="WIN32;DEBUG;_WINDOWS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
ProgramDataBaseFileName="$(IntDir)\$(ProjectName).pdb"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="pthreadVC2.lib ixml.lib threadutil.lib libupnp.lib ws2_32.lib iphlpapi.lib "
|
||||
LinkIncremental="1"
|
||||
AdditionalLibraryDirectories="..\..\pthreads\;..\..\pthreads\lib;$(OutDir)\..\lib;$(OutDir)\..\bin"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)\$(ProjectName).pdb"
|
||||
SubSystem="1"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug Lib|x64"
|
||||
OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\"
|
||||
IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\upnp\inc;..\..\ixml\inc;..\..\upnp\sample\common;..\inc;..\..\threadutil\inc;..\..\pthreads;..\..\pthreads\include;..\..\upnp\sample\tvdevice;..\..\upnp\sample\tvdevice\linux"
|
||||
PreprocessorDefinitions="WIN32;DEBUG;_WINDOWS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
ProgramDataBaseFileName="$(IntDir)\$(ProjectName).pdb"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="pthreadVC2.lib ixml.lib threadutil.lib libupnp.lib ws2_32.lib iphlpapi.lib "
|
||||
LinkIncremental="1"
|
||||
AdditionalLibraryDirectories="..\..\pthreads\;..\..\pthreads\lib;$(OutDir)\..\lib;$(OutDir)\..\bin"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)\$(ProjectName).pdb"
|
||||
SubSystem="1"
|
||||
TargetMachine="17"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release Lib|Win32"
|
||||
OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\"
|
||||
IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
EnableIntrinsicFunctions="true"
|
||||
AdditionalIncludeDirectories="..\..\upnp\inc;..\..\upnp\sample\common;..\..\upnp\sample;..\..\ixml\inc;..\..\pthreads;..\..\pthreads\include;..\inc;..\..\threadutil\inc;..\..\upnp\sample\tvcombo"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;RELEASE;_WINDOWS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE"
|
||||
StringPooling="true"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="true"
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
ProgramDataBaseFileName="$(IntDir)\$(ProjectName).pdb"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="pthreadVC2.lib ixml.lib threadutil.lib libupnp.lib ws2_32.lib iphlpapi.lib "
|
||||
LinkIncremental="1"
|
||||
AdditionalLibraryDirectories="..\..\pthreads\;..\..\pthreads\lib;$(OutDir)\..\lib;$(OutDir)\..\bin"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)\$(ProjectName).pdb"
|
||||
SubSystem="1"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release Lib|x64"
|
||||
OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\"
|
||||
IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
EnableIntrinsicFunctions="true"
|
||||
AdditionalIncludeDirectories="..\..\upnp\inc;..\..\upnp\sample\common;..\..\upnp\sample;..\..\ixml\inc;..\..\pthreads;..\..\pthreads\include;..\inc;..\..\threadutil\inc;..\..\upnp\sample\tvcombo"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;RELEASE;_WINDOWS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE"
|
||||
StringPooling="true"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="true"
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
ProgramDataBaseFileName="$(IntDir)\$(ProjectName).pdb"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="pthreadVC2.lib ixml.lib threadutil.lib libupnp.lib ws2_32.lib iphlpapi.lib "
|
||||
LinkIncremental="1"
|
||||
AdditionalLibraryDirectories="..\..\pthreads\;..\..\pthreads\lib;$(OutDir)\..\lib;$(OutDir)\..\bin"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)\$(ProjectName).pdb"
|
||||
SubSystem="1"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
TargetMachine="17"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
@@ -170,11 +668,11 @@
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\sample\tvdevice\upnp_tv_device.c"
|
||||
RelativePath="..\..\upnp\sample\common\tv_device.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\sample\tvdevice\linux\upnp_tv_device_main.c"
|
||||
RelativePath="..\..\upnp\sample\linux\tv_device_main.c"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
@@ -188,16 +686,10 @@
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\upnp\sample\tvdevice\upnp_tv_device.h"
|
||||
RelativePath="..\..\upnp\sample\common\tv_device.h"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Resource Files"
|
||||
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
|
||||
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
|
||||
>
|
||||
</Filter>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
|
||||
149
configure.ac
149
configure.ac
@@ -9,7 +9,7 @@
|
||||
|
||||
AC_PREREQ(2.60)
|
||||
|
||||
AC_INIT([libupnp], [1.6.12], [mroberto@users.sourceforge.net])
|
||||
AC_INIT([libupnp], [1.6.20], [mroberto@users.sourceforge.net])
|
||||
dnl ############################################################################
|
||||
dnl # *Independently* of the above libupnp package version, the libtool version
|
||||
dnl # of the 3 libraries need to be updated whenever there is a change released:
|
||||
@@ -240,9 +240,120 @@ dnl #AC_SUBST([LT_VERSION_THREADUTIL], [6:0:0])
|
||||
dnl #AC_SUBST([LT_VERSION_UPNP], [6:0:0])
|
||||
dnl #
|
||||
dnl ############################################################################
|
||||
AC_SUBST([LT_VERSION_IXML], [2:6:0])
|
||||
AC_SUBST([LT_VERSION_THREADUTIL], [6:0:0])
|
||||
AC_SUBST([LT_VERSION_UPNP], [6:0:0])
|
||||
dnl # Release 1.6.13:
|
||||
dnl # "current:revision:age"
|
||||
dnl #
|
||||
dnl # - Code has changed in upnp
|
||||
dnl # revision: 0 -> 1
|
||||
dnl # - interface added in upnp
|
||||
dnl # current: 6 -> 7
|
||||
dnl # revision: 1 - > 0
|
||||
dnl # age: 0 -> 1
|
||||
dnl #
|
||||
dnl #AC_SUBST([LT_VERSION_IXML], [2:6:0])
|
||||
dnl #AC_SUBST([LT_VERSION_THREADUTIL], [6:0:0])
|
||||
dnl #AC_SUBST([LT_VERSION_UPNP], [7:0:1])
|
||||
dnl #
|
||||
dnl ############################################################################
|
||||
dnl # Release 1.6.14:
|
||||
dnl # "current:revision:age"
|
||||
dnl #
|
||||
dnl # - Code has changed in upnp
|
||||
dnl # revision: 0 -> 1
|
||||
dnl # - interface added in upnp
|
||||
dnl # current: 7 -> 8
|
||||
dnl # revision: 1 - > 0
|
||||
dnl # age: 1 -> 2
|
||||
dnl #
|
||||
dnl #AC_SUBST([LT_VERSION_IXML], [2:6:0])
|
||||
dnl #AC_SUBST([LT_VERSION_THREADUTIL], [6:0:0])
|
||||
dnl #AC_SUBST([LT_VERSION_UPNP], [8:0:2])
|
||||
dnl #
|
||||
dnl ############################################################################
|
||||
dnl # Release 1.6.15:
|
||||
dnl # "current:revision:age"
|
||||
dnl #
|
||||
dnl # - Code has changed in upnp
|
||||
dnl # revision: 0 -> 1
|
||||
dnl #
|
||||
dnl #AC_SUBST([LT_VERSION_IXML], [2:6:0])
|
||||
dnl #AC_SUBST([LT_VERSION_THREADUTIL], [6:0:0])
|
||||
dnl #AC_SUBST([LT_VERSION_UPNP], [8:1:2])
|
||||
dnl #
|
||||
dnl ############################################################################
|
||||
dnl # Release 1.6.16:
|
||||
dnl # "current:revision:age"
|
||||
dnl #
|
||||
dnl # - Code has changed in ixml
|
||||
dnl # revision: 6 -> 7
|
||||
dnl # - Code has changed in threadutil
|
||||
dnl # revision: 0 -> 1
|
||||
dnl # - Code has changed in upnp
|
||||
dnl # revision: 1 -> 2
|
||||
dnl # - interface changed/added/removed in upnp
|
||||
dnl # current++(9); revision = 0
|
||||
dnl # - interface added in upnp
|
||||
dnl # age++(3)
|
||||
dnl #
|
||||
dnl #AC_SUBST([LT_VERSION_IXML], [2:7:0])
|
||||
dnl #AC_SUBST([LT_VERSION_THREADUTIL], [6:1:0])
|
||||
dnl #AC_SUBST([LT_VERSION_UPNP], [9:0:3])
|
||||
dnl #
|
||||
dnl ############################################################################
|
||||
dnl # Release 1.6.17:
|
||||
dnl # "current:revision:age"
|
||||
dnl #
|
||||
dnl # - Code has changed in threadutil
|
||||
dnl # revision: 1 -> 2
|
||||
dnl # - Code has changed in upnp
|
||||
dnl # revision: 0 -> 1
|
||||
dnl #
|
||||
dnl #AC_SUBST([LT_VERSION_IXML], [2:7:0])
|
||||
dnl #AC_SUBST([LT_VERSION_THREADUTIL], [6:2:0])
|
||||
dnl #AC_SUBST([LT_VERSION_UPNP], [9:1:3])
|
||||
dnl #
|
||||
dnl ############################################################################
|
||||
dnl # Release 1.6.18:
|
||||
dnl # "current:revision:age"
|
||||
dnl #
|
||||
dnl # - Code has changed in ixml
|
||||
dnl # revision: 7 -> 8
|
||||
dnl # - Code has changed in threadutil
|
||||
dnl # revision: 2 -> 3
|
||||
dnl # - Code has changed in upnp
|
||||
dnl # revision: 1 -> 2
|
||||
dnl #
|
||||
dnl #AC_SUBST([LT_VERSION_IXML], [2:8:0])
|
||||
dnl #AC_SUBST([LT_VERSION_THREADUTIL], [6:3:0])
|
||||
dnl #AC_SUBST([LT_VERSION_UPNP], [9:2:3])
|
||||
dnl #
|
||||
dnl ############################################################################
|
||||
dnl # Release 1.6.19:
|
||||
dnl # "current:revision:age"
|
||||
dnl #
|
||||
dnl # - Code has changed in threadutil
|
||||
dnl # revision: 3 -> 4
|
||||
dnl # - Code has changed in upnp
|
||||
dnl # revision: 2 -> 3
|
||||
dnl #
|
||||
dnl #AC_SUBST([LT_VERSION_IXML], [2:8:0])
|
||||
dnl #AC_SUBST([LT_VERSION_THREADUTIL], [6:4:0])
|
||||
dnl #AC_SUBST([LT_VERSION_UPNP], [9:3:3])
|
||||
dnl #
|
||||
dnl ############################################################################
|
||||
dnl # Release 1.6.20:
|
||||
dnl # "current:revision:age"
|
||||
dnl #
|
||||
dnl # -
|
||||
dnl #
|
||||
dnl #AC_SUBST([LT_VERSION_IXML], [::])
|
||||
dnl #AC_SUBST([LT_VERSION_THREADUTIL], [::])
|
||||
dnl #AC_SUBST([LT_VERSION_UPNP], [::])
|
||||
dnl #
|
||||
dnl ############################################################################
|
||||
AC_SUBST([LT_VERSION_IXML], [2:8:0])
|
||||
AC_SUBST([LT_VERSION_THREADUTIL], [6:4:0])
|
||||
AC_SUBST([LT_VERSION_UPNP], [9:3:3])
|
||||
dnl ############################################################################
|
||||
dnl # Repeating the algorithm to place it closer to the modificatin place:
|
||||
dnl # - library code modified: revision++
|
||||
@@ -330,6 +441,29 @@ if test "x$enable_webserver" = xyes ; then
|
||||
AC_DEFINE(UPNP_HAVE_WEBSERVER, 1, [see upnpconfig.h])
|
||||
fi
|
||||
|
||||
RT_BOOL_ARG_ENABLE([ssdp], [yes], [SSDP part])
|
||||
if test "x$enable_ssdp" = xyes ; then
|
||||
AC_DEFINE(UPNP_HAVE_SSDP, 1, [see upnpconfig.h])
|
||||
fi
|
||||
|
||||
RT_BOOL_ARG_ENABLE([optssdp], [yes], [optionnal SSDP headers support)])
|
||||
if test "x$enable_optssdp" = xyes ; then
|
||||
AC_DEFINE(UPNP_HAVE_OPTSSDP, 1, [see upnpconfig.h])
|
||||
enable_uuid=yes
|
||||
fi
|
||||
|
||||
RT_BOOL_ARG_ENABLE([soap], [yes], [SOAP part])
|
||||
if test "x$enable_soap" = xyes ; then
|
||||
AC_DEFINE(UPNP_HAVE_SOAP, 1, [see upnpconfig.h])
|
||||
fi
|
||||
|
||||
RT_BOOL_ARG_ENABLE([gena], [yes], [GENA part])
|
||||
if test "x$enable_gena" = xyes ; then
|
||||
AC_DEFINE(UPNP_HAVE_GENA, 1, [see upnpconfig.h])
|
||||
enable_uuid=yes
|
||||
fi
|
||||
|
||||
AM_CONDITIONAL(ENABLE_UUID, test x"$enable_uuid" = xyes)
|
||||
|
||||
RT_BOOL_ARG_ENABLE([tools], [yes], [helper APIs in upnptools.h])
|
||||
if test "x$enable_tools" = xyes ; then
|
||||
@@ -341,6 +475,11 @@ if test "x$enable_ipv6" = xyes ; then
|
||||
AC_DEFINE(UPNP_ENABLE_IPV6, 1, [see upnpconfig.h])
|
||||
fi
|
||||
|
||||
RT_BOOL_ARG_ENABLE([unspecified_server], [no], [unspecified SERVER header])
|
||||
if test "x$enable_unspecified_server" = xyes ; then
|
||||
AC_DEFINE(UPNP_ENABLE_UNSPECIFIED_SERVER, 1, [see upnpconfig.h])
|
||||
fi
|
||||
|
||||
RT_BOOL_ARG_ENABLE([notification_reordering], [yes], [GENA notification reordering in gena_device.c])
|
||||
if test "x$enable_notification_reordering" = xyes ; then
|
||||
AC_DEFINE(UPNP_ENABLE_NOTIFICATION_REORDERING, 1, [see upnpconfig.h])
|
||||
@@ -392,6 +531,7 @@ AC_MSG_RESULT($docdir)
|
||||
#
|
||||
AC_PROG_CC
|
||||
AM_PROG_CC_C_O
|
||||
m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
|
||||
AC_PROG_LIBTOOL
|
||||
AC_PROG_INSTALL
|
||||
AC_PROG_MAKE_SET
|
||||
@@ -585,6 +725,7 @@ AC_OUTPUT
|
||||
# Files copied for windows compilation.
|
||||
#
|
||||
echo "configure: copying \"autoconfig.h\" to \"build/inc/autoconfig.h\""
|
||||
test -d build/inc || mkdir -p build/inc
|
||||
cp autoconfig.h build/inc/autoconfig.h
|
||||
echo "configure: copying \"upnp/inc/upnpconfig.h\" to \"build/inc/upnpconfig.h\""
|
||||
cp upnp/inc/upnpconfig.h build/inc/upnpconfig.h
|
||||
|
||||
@@ -7,7 +7,8 @@
|
||||
|
||||
SUBDIRS = doc
|
||||
|
||||
AM_CPPFLAGS = -I$(srcdir)/inc -I$(srcdir)/src/inc
|
||||
AM_CPPFLAGS = -I$(srcdir)/inc -I$(srcdir)/src/inc \
|
||||
-I$(top_srcdir)/upnp/inc
|
||||
AM_CFLAGS =
|
||||
|
||||
LDADD = libixml.la
|
||||
|
||||
@@ -738,7 +738,7 @@ EXPORT_SPEC int ixmlDocument_createDocumentEx(
|
||||
* \return A pointer to the new \b Document object with the nodeName set to
|
||||
* "#document" or \c NULL on failure.
|
||||
*/
|
||||
EXPORT_SPEC IXML_Document *ixmlDocument_createDocument();
|
||||
EXPORT_SPEC IXML_Document *ixmlDocument_createDocument(void);
|
||||
|
||||
|
||||
/*!
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
*
|
||||
* Copyright (c) 2000-2003 Intel Corporation
|
||||
* All rights reserved.
|
||||
* Copyright (c) 2012 France Telecom All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
*
|
||||
* Copyright (c) 2000-2003 Intel Corporation
|
||||
* All rights reserved.
|
||||
* Copyright (c) 2012 France Telecom All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
@@ -143,6 +144,7 @@ int ixmlDocument_createElementEx(
|
||||
newElement->n.nodeType = eELEMENT_NODE;
|
||||
newElement->n.nodeName = strdup(tagName);
|
||||
if (newElement->n.nodeName == NULL) {
|
||||
free(newElement->tagName);
|
||||
ixmlElement_free(newElement);
|
||||
newElement = NULL;
|
||||
errCode = IXML_INSUFFICIENT_MEMORY;
|
||||
@@ -163,8 +165,14 @@ IXML_Element *ixmlDocument_createElement(
|
||||
const DOMString tagName)
|
||||
{
|
||||
IXML_Element *newElement = NULL;
|
||||
int ret = IXML_SUCCESS;
|
||||
|
||||
ixmlDocument_createElementEx(doc, tagName, &newElement);
|
||||
ret = ixmlDocument_createElementEx(doc, tagName, &newElement);
|
||||
if (ret != IXML_SUCCESS) {
|
||||
IxmlPrintf(__FILE__, __LINE__, "ixmlDocument_createElement",
|
||||
"Error %d\n", ret);
|
||||
return NULL;
|
||||
}
|
||||
return newElement;
|
||||
}
|
||||
|
||||
@@ -183,7 +191,7 @@ int ixmlDocument_createDocumentEx(IXML_Document **rtDoc)
|
||||
|
||||
ixmlDocument_init(doc);
|
||||
|
||||
doc->n.nodeName = strdup(DOCUMENTNODENAME);
|
||||
doc->n.nodeName = strdup((const char*)DOCUMENTNODENAME);
|
||||
if (doc->n.nodeName == NULL) {
|
||||
ixmlDocument_free(doc);
|
||||
doc = NULL;
|
||||
@@ -232,7 +240,7 @@ int ixmlDocument_createTextNodeEx(
|
||||
/* initialize the node */
|
||||
ixmlNode_init(returnNode);
|
||||
|
||||
returnNode->nodeName = strdup(TEXTNODENAME);
|
||||
returnNode->nodeName = strdup((const char*)TEXTNODENAME);
|
||||
if (returnNode->nodeName == NULL) {
|
||||
ixmlNode_free(returnNode);
|
||||
returnNode = NULL;
|
||||
@@ -318,7 +326,8 @@ IXML_Attr *ixmlDocument_createAttribute(
|
||||
{
|
||||
IXML_Attr *attrNode = NULL;
|
||||
|
||||
ixmlDocument_createAttributeEx(doc, name, &attrNode);
|
||||
if(ixmlDocument_createAttributeEx(doc, name, &attrNode) != IXML_SUCCESS)
|
||||
return NULL;
|
||||
|
||||
return attrNode;
|
||||
}
|
||||
@@ -401,7 +410,7 @@ int ixmlDocument_createCDATASectionEx(
|
||||
|
||||
ixmlCDATASection_init(cDSectionNode);
|
||||
cDSectionNode->n.nodeType = eCDATA_SECTION_NODE;
|
||||
cDSectionNode->n.nodeName = strdup(CDATANODENAME);
|
||||
cDSectionNode->n.nodeName = strdup((const char*)CDATANODENAME);
|
||||
if (cDSectionNode->n.nodeName == NULL) {
|
||||
ixmlCDATASection_free(cDSectionNode);
|
||||
cDSectionNode = NULL;
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
*
|
||||
* Copyright (c) 2000-2003 Intel Corporation
|
||||
* All rights reserved.
|
||||
* Copyright (c) 2012 France Telecom All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
@@ -232,53 +233,42 @@ int ixmlElement_setAttributeNode(
|
||||
IXML_Node *preSib = NULL;
|
||||
IXML_Node *nextSib = NULL;
|
||||
|
||||
if (element == NULL || newAttr == NULL) {
|
||||
if (!element || !newAttr)
|
||||
return IXML_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
if (newAttr->n.ownerDocument != element->n.ownerDocument) {
|
||||
if (newAttr->n.ownerDocument != element->n.ownerDocument)
|
||||
return IXML_WRONG_DOCUMENT_ERR;
|
||||
}
|
||||
|
||||
if (newAttr->ownerElement != NULL) {
|
||||
if (newAttr->ownerElement)
|
||||
return IXML_INUSE_ATTRIBUTE_ERR;
|
||||
}
|
||||
|
||||
newAttr->ownerElement = element;
|
||||
node = (IXML_Node *)newAttr;
|
||||
|
||||
attrNode = element->n.firstAttr;
|
||||
while (attrNode != NULL) {
|
||||
if (strcmp(attrNode->nodeName, node->nodeName) == 0) {
|
||||
while (attrNode) {
|
||||
if (!strcmp(attrNode->nodeName, node->nodeName))
|
||||
/* Found it */
|
||||
break;
|
||||
} else {
|
||||
else
|
||||
attrNode = attrNode->nextSibling;
|
||||
}
|
||||
}
|
||||
|
||||
if (attrNode != NULL) {
|
||||
if (attrNode) {
|
||||
/* Already present, will replace by newAttr */
|
||||
preSib = attrNode->prevSibling;
|
||||
nextSib = attrNode->nextSibling;
|
||||
if (preSib != NULL) {
|
||||
if (preSib)
|
||||
preSib->nextSibling = node;
|
||||
}
|
||||
if (nextSib != NULL) {
|
||||
if (nextSib)
|
||||
nextSib->prevSibling = node;
|
||||
}
|
||||
if (element->n.firstAttr == attrNode) {
|
||||
if (element->n.firstAttr == attrNode)
|
||||
element->n.firstAttr = node;
|
||||
}
|
||||
if (rtAttr != NULL) {
|
||||
if (rtAttr)
|
||||
*rtAttr = (IXML_Attr *)attrNode;
|
||||
}
|
||||
else
|
||||
ixmlAttr_free((IXML_Attr *)attrNode);
|
||||
} else {
|
||||
/* Add this attribute */
|
||||
if (element->n.firstAttr != NULL) {
|
||||
if (element->n.firstAttr) {
|
||||
prevAttr = element->n.firstAttr;
|
||||
nextAttr = prevAttr->nextSibling;
|
||||
while (nextAttr != NULL) {
|
||||
while (nextAttr) {
|
||||
prevAttr = nextAttr;
|
||||
nextAttr = prevAttr->nextSibling;
|
||||
}
|
||||
@@ -290,10 +280,8 @@ int ixmlElement_setAttributeNode(
|
||||
node->prevSibling = NULL;
|
||||
node->nextSibling = NULL;
|
||||
}
|
||||
|
||||
if (rtAttr != NULL) {
|
||||
if (rtAttr)
|
||||
*rtAttr = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
return IXML_SUCCESS;
|
||||
@@ -443,7 +431,7 @@ int ixmlElement_setAttributeNS(
|
||||
|
||||
/* see DOM 2 spec page 59 */
|
||||
if ((newAttrNode.prefix != NULL && namespaceURI == NULL) ||
|
||||
(strcmp(newAttrNode.prefix, "xml") == 0 &&
|
||||
(newAttrNode.prefix != NULL && strcmp(newAttrNode.prefix, "xml") == 0 &&
|
||||
strcmp(namespaceURI, "http://www.w3.org/XML/1998/namespace") != 0) ||
|
||||
(strcmp(qualifiedName, "xmlns") == 0 &&
|
||||
strcmp(namespaceURI, "http://www.w3.org/2000/xmlns/") != 0)) {
|
||||
@@ -467,11 +455,14 @@ int ixmlElement_setAttributeNS(
|
||||
free(attrNode->prefix);
|
||||
}
|
||||
/* replace it with the new prefix */
|
||||
attrNode->prefix = strdup( newAttrNode.prefix );
|
||||
if (attrNode->prefix == NULL) {
|
||||
Parser_freeNodeContent(&newAttrNode);
|
||||
return IXML_INSUFFICIENT_MEMORY;
|
||||
}
|
||||
if (newAttrNode.prefix != NULL) {
|
||||
attrNode->prefix = strdup( newAttrNode.prefix );
|
||||
if (attrNode->prefix == NULL) {
|
||||
Parser_freeNodeContent(&newAttrNode);
|
||||
return IXML_INSUFFICIENT_MEMORY;
|
||||
}
|
||||
} else
|
||||
attrNode->prefix = newAttrNode.prefix;
|
||||
|
||||
if (attrNode->nodeValue != NULL) {
|
||||
free(attrNode->nodeValue);
|
||||
@@ -490,15 +481,18 @@ int ixmlElement_setAttributeNS(
|
||||
qualifiedName,
|
||||
&newAttr);
|
||||
if (rc != IXML_SUCCESS) {
|
||||
Parser_freeNodeContent(&newAttrNode);
|
||||
return rc;
|
||||
}
|
||||
newAttr->n.nodeValue = strdup(value);
|
||||
if (newAttr->n.nodeValue == NULL) {
|
||||
ixmlAttr_free(newAttr);
|
||||
Parser_freeNodeContent(&newAttrNode);
|
||||
return IXML_INSUFFICIENT_MEMORY;
|
||||
}
|
||||
if (ixmlElement_setAttributeNodeNS(element, newAttr, NULL) != IXML_SUCCESS) {
|
||||
if (ixmlElement_setAttributeNodeNS(element, newAttr, &newAttr) != IXML_SUCCESS) {
|
||||
ixmlAttr_free(newAttr);
|
||||
Parser_freeNodeContent(&newAttrNode);
|
||||
return IXML_FAILED;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
*
|
||||
* Copyright (c) 2000-2003 Intel Corporation
|
||||
* All rights reserved.
|
||||
* Copyright (c) 2012 France Telecom All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
@@ -49,7 +50,7 @@
|
||||
#define MAXVAL(a, b) ( (a) > (b) ? (a) : (b) )
|
||||
|
||||
|
||||
#define MEMBUF_DEF_SIZE_INC 20
|
||||
#define MEMBUF_DEF_SIZE_INC 20u
|
||||
|
||||
|
||||
/*!
|
||||
|
||||
@@ -60,7 +60,7 @@ static void copy_with_escape(
|
||||
if (p == NULL)
|
||||
return;
|
||||
plen = strlen(p);
|
||||
for (i = 0; i < plen; ++i) {
|
||||
for (i = (size_t)0; i < plen; ++i) {
|
||||
switch (p[i]) {
|
||||
case '<':
|
||||
ixml_membuf_append_str(buf, "<");
|
||||
@@ -175,7 +175,7 @@ static void ixmlPrintDomTreeRecursive(
|
||||
default:
|
||||
IxmlPrintf(__FILE__, __LINE__, "ixmlPrintDomTreeRecursive",
|
||||
"Warning, unknown node type %d\n",
|
||||
ixmlNode_getNodeType(nodeptr));
|
||||
(int)ixmlNode_getNodeType(nodeptr));
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -247,7 +247,7 @@ static void ixmlPrintDomTree(
|
||||
default:
|
||||
IxmlPrintf(__FILE__, __LINE__, "ixmlPrintDomTree",
|
||||
"Warning, unknown node type %d\n",
|
||||
ixmlNode_getNodeType(nodeptr));
|
||||
(int)ixmlNode_getNodeType(nodeptr));
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -318,7 +318,7 @@ static void ixmlDomTreetoString(
|
||||
default:
|
||||
IxmlPrintf(__FILE__, __LINE__, "ixmlPrintDomTreeRecursive",
|
||||
"Warning, unknown node type %d\n",
|
||||
ixmlNode_getNodeType(nodeptr));
|
||||
(int)ixmlNode_getNodeType(nodeptr));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
*
|
||||
* Copyright (c) 2000-2003 Intel Corporation
|
||||
* All rights reserved.
|
||||
* Copyright (c) 2012 France Telecom All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
@@ -87,11 +88,11 @@ static int ixml_membuf_set_size(
|
||||
|
||||
assert(alloc_len >= new_length);
|
||||
|
||||
temp_buf = realloc(m->buf, alloc_len + 1);
|
||||
temp_buf = realloc(m->buf, alloc_len + (size_t)1);
|
||||
if (temp_buf == NULL) {
|
||||
/* try smaller size */
|
||||
alloc_len = new_length;
|
||||
temp_buf = realloc(m->buf, alloc_len + 1);
|
||||
temp_buf = realloc(m->buf, alloc_len + (size_t)1);
|
||||
if (temp_buf == NULL) {
|
||||
return IXML_INSUFFICIENT_MEMORY;
|
||||
}
|
||||
@@ -110,8 +111,8 @@ void ixml_membuf_init(ixml_membuf *m)
|
||||
|
||||
m->size_inc = MEMBUF_DEF_SIZE_INC;
|
||||
m->buf = NULL;
|
||||
m->length = 0;
|
||||
m->capacity = 0;
|
||||
m->length = (size_t)0;
|
||||
m->capacity = (size_t)0;
|
||||
}
|
||||
|
||||
|
||||
@@ -171,7 +172,7 @@ int ixml_membuf_append(
|
||||
{
|
||||
assert(m != NULL);
|
||||
|
||||
return ixml_membuf_insert(m, buf, 1, m->length);
|
||||
return ixml_membuf_insert(m, buf, (size_t)1, m->length);
|
||||
}
|
||||
|
||||
|
||||
@@ -197,7 +198,7 @@ int ixml_membuf_insert(
|
||||
return IXML_INDEX_SIZE_ERR;
|
||||
}
|
||||
|
||||
if (buf == NULL || buf_len == 0) {
|
||||
if (buf == NULL || buf_len == (size_t)0) {
|
||||
return 0;
|
||||
}
|
||||
/* alloc mem */
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
*
|
||||
* Copyright (c) 2000-2003 Intel Corporation
|
||||
* All rights reserved.
|
||||
* Copyright (c) 2012 France Telecom All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
@@ -409,7 +410,7 @@ static void Parser_skipWhiteSpaces(
|
||||
Parser *xmlParser)
|
||||
{
|
||||
while( ( *( xmlParser->curPtr ) != 0 ) &&
|
||||
( strchr( WHITESPACE, *( xmlParser->curPtr ) ) != NULL ) ) {
|
||||
( strchr( WHITESPACE, ( int ) *( xmlParser->curPtr ) ) != NULL ) ) {
|
||||
xmlParser->curPtr++;
|
||||
}
|
||||
}
|
||||
@@ -693,12 +694,12 @@ static BOOL Parser_isNameChar(
|
||||
/*! [in] TRUE if you also want to check in the NameChar table. */
|
||||
BOOL bNameChar)
|
||||
{
|
||||
if (Parser_isCharInTable(c, Letter, LETTERTABLESIZE)) {
|
||||
if (Parser_isCharInTable(c, Letter, (int)LETTERTABLESIZE)) {
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
if (bNameChar &&
|
||||
Parser_isCharInTable(c, NameChar, NAMECHARTABLESIZE)) {
|
||||
Parser_isCharInTable(c, NameChar, (int)NAMECHARTABLESIZE)) {
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -745,7 +746,7 @@ static int Parser_getChar(
|
||||
|
||||
*cLen = 0;
|
||||
if (*src != '&') {
|
||||
if (*src > 0 && Parser_isXmlChar(*src)) {
|
||||
if (*src > 0 && Parser_isXmlChar((int)*src)) {
|
||||
*cLen = 1;
|
||||
ret = *src;
|
||||
goto ExitFunction;
|
||||
@@ -762,30 +763,30 @@ static int Parser_getChar(
|
||||
ret = i;
|
||||
goto ExitFunction;
|
||||
} else if (strncasecmp(src, QUOT, strlen(QUOT)) == 0) {
|
||||
*cLen = strlen(QUOT);
|
||||
*cLen = (int)strlen(QUOT);
|
||||
ret = '"';
|
||||
goto ExitFunction;
|
||||
} else if (strncasecmp(src, LT, strlen(LT)) == 0) {
|
||||
*cLen = strlen(LT);
|
||||
*cLen = (int)strlen(LT);
|
||||
ret = '<';
|
||||
goto ExitFunction;
|
||||
} else if (strncasecmp(src, GT, strlen(GT)) == 0) {
|
||||
*cLen = strlen(GT);
|
||||
*cLen = (int)strlen(GT);
|
||||
ret = '>';
|
||||
goto ExitFunction;
|
||||
} else if (strncasecmp(src, APOS, strlen(APOS)) == 0) {
|
||||
*cLen = strlen(APOS);
|
||||
*cLen = (int)strlen(APOS);
|
||||
ret = '\'';
|
||||
goto ExitFunction;
|
||||
} else if (strncasecmp(src, AMP, strlen(AMP)) == 0) {
|
||||
*cLen = strlen(AMP);
|
||||
*cLen = (int)strlen(AMP);
|
||||
ret = '&';
|
||||
goto ExitFunction;
|
||||
} else if (strncasecmp(src, ESC_HEX, strlen(ESC_HEX)) == 0) {
|
||||
/* Read in escape characters of type &#xnn where nn is a hexadecimal value */
|
||||
pnum = src + strlen( ESC_HEX );
|
||||
sum = 0;
|
||||
while (strchr(HEX_NUMBERS, *pnum) != 0) {
|
||||
while (strchr(HEX_NUMBERS, (int)*pnum) != 0) {
|
||||
c = *pnum;
|
||||
if (c <= '9') {
|
||||
sum = sum * 16 + ( c - '0' );
|
||||
@@ -807,7 +808,7 @@ static int Parser_getChar(
|
||||
/* Read in escape characters of type &#nn where nn is a decimal value */
|
||||
pnum = src + strlen(ESC_DEC);
|
||||
sum = 0;
|
||||
while (strchr(DEC_NUMBERS, *pnum) != 0) {
|
||||
while (strchr(DEC_NUMBERS, (int)*pnum) != 0) {
|
||||
sum = sum * 10 + ( *pnum - '0' );
|
||||
pnum++;
|
||||
}
|
||||
@@ -1095,7 +1096,7 @@ static char *safe_strdup(
|
||||
assert(s != NULL);
|
||||
|
||||
if (s == NULL) {
|
||||
return strdup("");
|
||||
return strdup((const char*)"");
|
||||
}
|
||||
return strdup(s);
|
||||
}
|
||||
@@ -1214,7 +1215,7 @@ static int Parser_processCDSect(
|
||||
IXML_Node *node)
|
||||
{
|
||||
char *pEnd;
|
||||
size_t tokenLength = 0;
|
||||
size_t tokenLength = (size_t)0;
|
||||
char *pCDataStart;
|
||||
|
||||
if( *pSrc == NULL ) {
|
||||
@@ -1223,7 +1224,7 @@ static int Parser_processCDSect(
|
||||
|
||||
pCDataStart = *pSrc + strlen( CDSTART );
|
||||
pEnd = pCDataStart;
|
||||
while( ( Parser_isXmlChar( *pEnd ) == TRUE ) && ( *pEnd != '\0' ) ) {
|
||||
while( ( Parser_isXmlChar( (int)*pEnd ) == TRUE ) && ( *pEnd != '\0' ) ) {
|
||||
if( strncmp( pEnd, CDEND, strlen( CDEND ) ) == 0 ) {
|
||||
break;
|
||||
} else {
|
||||
@@ -1232,8 +1233,8 @@ static int Parser_processCDSect(
|
||||
}
|
||||
|
||||
if( ( pEnd - pCDataStart > 0 ) && ( *pEnd != '\0' ) ) {
|
||||
tokenLength = (size_t)(pEnd - pCDataStart);
|
||||
node->nodeValue = (char *)malloc(tokenLength + 1);
|
||||
tokenLength = (size_t)pEnd - (size_t)pCDataStart;
|
||||
node->nodeValue = (char *)malloc(tokenLength + (size_t)1);
|
||||
if( node->nodeValue == NULL ) {
|
||||
return IXML_INSUFFICIENT_MEMORY;
|
||||
}
|
||||
@@ -1268,7 +1269,6 @@ static int Parser_processContent(
|
||||
int ret = IXML_SUCCESS;
|
||||
int line = 0;
|
||||
char *pEndContent;
|
||||
BOOL bReadContent;
|
||||
ptrdiff_t tokenLength;
|
||||
const char *notAllowed = "]]>";
|
||||
char *pCurToken = NULL;
|
||||
@@ -1324,10 +1324,6 @@ static int Parser_processContent(
|
||||
pEndContent++;
|
||||
}
|
||||
|
||||
if (*pEndContent == '\0') {
|
||||
bReadContent = FALSE;
|
||||
}
|
||||
|
||||
if (strncmp(pEndContent, (const char *)notAllowed, strlen(notAllowed)) == 0) {
|
||||
line = __LINE__;
|
||||
ret = IXML_SYNTAX_ERR;
|
||||
@@ -1455,6 +1451,7 @@ ExitFunction:
|
||||
*
|
||||
* \return IXML_SUCCESS.
|
||||
*/
|
||||
#if 0
|
||||
static int Parser_parseReference(
|
||||
/*! [in] Currently unused. */
|
||||
char *pStr)
|
||||
@@ -1463,6 +1460,7 @@ static int Parser_parseReference(
|
||||
return IXML_SUCCESS;
|
||||
pStr = pStr;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
/*!
|
||||
@@ -1502,47 +1500,39 @@ static int Parser_addNamespace(
|
||||
/*! [in] The XML parser. */
|
||||
Parser *xmlParser)
|
||||
{
|
||||
IXML_Node *pNode;
|
||||
IXML_ElementStack *pCur;
|
||||
const char *namespaceUri;
|
||||
IXML_Node *pNode;
|
||||
IXML_ElementStack *pCur;
|
||||
const char *namespaceUri;
|
||||
|
||||
pNode = xmlParser->pNeedPrefixNode;
|
||||
pCur = xmlParser->pCurElement;
|
||||
pNode = xmlParser->pNeedPrefixNode;
|
||||
pCur = xmlParser->pCurElement;
|
||||
if (!pNode->prefix) {
|
||||
/* element does not have prefix */
|
||||
if (strcmp(pNode->nodeName, pCur->element) != 0)
|
||||
return IXML_FAILED;
|
||||
if (pCur->namespaceUri) {
|
||||
/* it would be wrong that pNode->namespace != NULL. */
|
||||
assert(pNode->namespaceURI == NULL);
|
||||
pNode->namespaceURI = safe_strdup(pCur->namespaceUri);
|
||||
if (!pNode->namespaceURI)
|
||||
return IXML_INSUFFICIENT_MEMORY;
|
||||
}
|
||||
xmlParser->pNeedPrefixNode = NULL;
|
||||
} else {
|
||||
if (!pCur->prefix ||
|
||||
((strcmp(pNode->nodeName, pCur->element) != 0) &&
|
||||
(strcmp(pNode->prefix, pCur->prefix) != 0)))
|
||||
return IXML_FAILED;
|
||||
namespaceUri = Parser_getNameSpace(xmlParser, pCur->prefix);
|
||||
if (namespaceUri) {
|
||||
pNode->namespaceURI = safe_strdup(namespaceUri);
|
||||
if (!pNode->namespaceURI)
|
||||
return IXML_INSUFFICIENT_MEMORY;
|
||||
xmlParser->pNeedPrefixNode = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
if( pNode->prefix == NULL ) {
|
||||
/* element does not have prefix */
|
||||
if( strcmp( pNode->nodeName, pCur->element ) != 0 ) {
|
||||
return IXML_FAILED;
|
||||
}
|
||||
if( pCur->namespaceUri != NULL ) {
|
||||
/* it would be wrong that pNode->namespace != NULL. */
|
||||
assert( pNode->namespaceURI == NULL );
|
||||
|
||||
pNode->namespaceURI = safe_strdup( pCur->namespaceUri );
|
||||
if( pNode->namespaceURI == NULL ) {
|
||||
return IXML_INSUFFICIENT_MEMORY;
|
||||
}
|
||||
}
|
||||
|
||||
xmlParser->pNeedPrefixNode = NULL;
|
||||
|
||||
} else {
|
||||
if( ( strcmp( pNode->nodeName, pCur->element ) != 0 ) &&
|
||||
( strcmp( pNode->prefix, pCur->prefix ) != 0 ) ) {
|
||||
return IXML_FAILED;
|
||||
}
|
||||
|
||||
namespaceUri = Parser_getNameSpace( xmlParser, pCur->prefix );
|
||||
if( namespaceUri != NULL ) {
|
||||
pNode->namespaceURI = safe_strdup( namespaceUri );
|
||||
if( pNode->namespaceURI == NULL ) {
|
||||
return IXML_INSUFFICIENT_MEMORY;
|
||||
}
|
||||
|
||||
xmlParser->pNeedPrefixNode = NULL;
|
||||
}
|
||||
}
|
||||
return IXML_SUCCESS;
|
||||
return IXML_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
@@ -1593,6 +1583,9 @@ static int Parser_xmlNamespace(
|
||||
}
|
||||
if (pCur->prefix != NULL &&
|
||||
strcmp(pCur->prefix, newNode->localName) == 0) {
|
||||
if (pCur->namespaceUri != NULL) {
|
||||
free(pCur->namespaceUri);
|
||||
}
|
||||
pCur->namespaceUri = safe_strdup(newNode->nodeValue);
|
||||
if (pCur->namespaceUri == NULL) {
|
||||
ret = IXML_INSUFFICIENT_MEMORY;
|
||||
@@ -1755,9 +1748,9 @@ static int Parser_processAttribute(
|
||||
line = __LINE__;
|
||||
goto ExitFunction;
|
||||
}
|
||||
if (*pCur == '&') {
|
||||
/*if (*pCur == '&') {
|
||||
Parser_parseReference(++pCur);
|
||||
}
|
||||
}*/
|
||||
pCur++;
|
||||
}
|
||||
/* clear token buffer */
|
||||
@@ -1843,7 +1836,7 @@ static int Parser_getNextNode(
|
||||
{
|
||||
char *pCurToken = NULL;
|
||||
char *lastElement = NULL;
|
||||
IXML_ERRORCODE ret = IXML_SUCCESS;
|
||||
int ret = IXML_SUCCESS;
|
||||
int line = 0;
|
||||
ptrdiff_t tokenLen = 0;
|
||||
|
||||
@@ -1855,11 +1848,12 @@ static int Parser_getNextNode(
|
||||
goto ExitFunction;
|
||||
}
|
||||
|
||||
if (xmlParser->state == eCONTENT) {
|
||||
switch (xmlParser->state) {
|
||||
case eCONTENT:
|
||||
line = __LINE__;
|
||||
ret = Parser_processContent(xmlParser, node);
|
||||
goto ExitFunction;
|
||||
} else {
|
||||
default:
|
||||
Parser_skipWhiteSpaces(xmlParser);
|
||||
tokenLen = Parser_getNextToken(xmlParser);
|
||||
if (tokenLen == 0 &&
|
||||
@@ -1869,7 +1863,7 @@ static int Parser_getNextNode(
|
||||
line = __LINE__;
|
||||
ret = IXML_SUCCESS;
|
||||
goto ExitFunction;
|
||||
} else if ((xmlParser->tokenBuf).length == 0) {
|
||||
} else if ((xmlParser->tokenBuf).length == (size_t)0) {
|
||||
line = __LINE__;
|
||||
ret = IXML_SYNTAX_ERR;
|
||||
goto ExitFunction;
|
||||
@@ -1909,8 +1903,16 @@ static int Parser_getNextNode(
|
||||
line = __LINE__;
|
||||
ret = IXML_SUCCESS;
|
||||
goto ExitFunction;
|
||||
} else if (xmlParser->state == eATTRIBUTE && xmlParser->pCurElement != NULL) {
|
||||
if (Parser_processAttribute(xmlParser, node) != IXML_SUCCESS) {
|
||||
} else if (xmlParser->pCurElement != NULL) {
|
||||
switch (xmlParser->state) {
|
||||
case eATTRIBUTE:
|
||||
if (Parser_processAttribute(xmlParser, node) != IXML_SUCCESS) {
|
||||
line = __LINE__;
|
||||
ret = IXML_SYNTAX_ERR;
|
||||
goto ExitFunction;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
line = __LINE__;
|
||||
ret = IXML_SYNTAX_ERR;
|
||||
goto ExitFunction;
|
||||
@@ -2050,11 +2052,15 @@ static int Parser_processAttributeName(
|
||||
|
||||
rc = ixmlNode_setNodeProperties( ( IXML_Node * ) attr, newNode );
|
||||
if( rc != IXML_SUCCESS ) {
|
||||
ixmlAttr_free( attr );
|
||||
return rc;
|
||||
}
|
||||
|
||||
rc = ixmlElement_setAttributeNode(
|
||||
(IXML_Element *)xmlParser->currentNodePtr, attr, NULL );
|
||||
if( rc != IXML_SUCCESS ) {
|
||||
ixmlAttr_free( attr );
|
||||
}
|
||||
return rc;
|
||||
}
|
||||
|
||||
@@ -2142,8 +2148,6 @@ static int isTopLevelElement(
|
||||
static BOOL Parser_hasDefaultNamespace(
|
||||
/*! [in] The XML parser. */
|
||||
Parser *xmlParser,
|
||||
/*! [in] The Node to process. */
|
||||
IXML_Node *newNode,
|
||||
/*! [in,out] The name space URI. */
|
||||
char **nsURI )
|
||||
{
|
||||
@@ -2159,7 +2163,6 @@ static BOOL Parser_hasDefaultNamespace(
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
newNode = newNode;
|
||||
}
|
||||
|
||||
|
||||
@@ -2212,11 +2215,17 @@ static int Parser_processElementName(
|
||||
} else {
|
||||
/* does element has default namespace */
|
||||
/* the node may have default namespace definition */
|
||||
if (Parser_hasDefaultNamespace(xmlParser, newNode, &nsURI)) {
|
||||
if (Parser_hasDefaultNamespace(xmlParser, &nsURI)) {
|
||||
Parser_setElementNamespace(newElement, nsURI);
|
||||
} else if (xmlParser->state == eATTRIBUTE) {
|
||||
/* the default namespace maybe defined later */
|
||||
xmlParser->pNeedPrefixNode = (IXML_Node *)newElement;
|
||||
} else {
|
||||
switch (xmlParser->state) {
|
||||
case eATTRIBUTE:
|
||||
/* the default namespace maybe defined later */
|
||||
xmlParser->pNeedPrefixNode = (IXML_Node *)newElement;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2246,14 +2255,14 @@ static int Parser_isValidEndElement(
|
||||
IXML_Node *newNode)
|
||||
{
|
||||
assert(xmlParser);
|
||||
assert(xmlParser->pCurElement->element);
|
||||
assert(newNode);
|
||||
assert(newNode->nodeName);
|
||||
|
||||
if (xmlParser->pCurElement == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
assert(xmlParser->pCurElement->element);
|
||||
assert(newNode);
|
||||
assert(newNode->nodeName);
|
||||
return strcmp(xmlParser->pCurElement->element, newNode->nodeName) == 0;
|
||||
}
|
||||
|
||||
@@ -2297,13 +2306,17 @@ static int Parser_eTagVerification(
|
||||
assert( newNode->nodeName );
|
||||
assert( xmlParser->currentNodePtr );
|
||||
|
||||
if( newNode->nodeType == eELEMENT_NODE ) {
|
||||
switch( newNode->nodeType ) {
|
||||
case eELEMENT_NODE:
|
||||
if( Parser_isValidEndElement( xmlParser, newNode ) == TRUE ) {
|
||||
Parser_popElement( xmlParser );
|
||||
} else {
|
||||
/* syntax error */
|
||||
return IXML_SYNTAX_ERR;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if( strcmp( newNode->nodeName, xmlParser->currentNodePtr->nodeName ) ==
|
||||
@@ -2460,16 +2473,16 @@ ErrorHandler:
|
||||
BOOL Parser_isValidXmlName(const DOMString name)
|
||||
{
|
||||
const char *pstr = NULL;
|
||||
size_t i = 0;
|
||||
size_t nameLen = 0;
|
||||
size_t i = (size_t)0;
|
||||
size_t nameLen = (size_t)0;
|
||||
|
||||
assert(name != NULL);
|
||||
|
||||
nameLen = strlen(name);
|
||||
pstr = name;
|
||||
if (Parser_isNameChar(*pstr, FALSE) == TRUE) {
|
||||
for (i = 1; i < nameLen; ++i) {
|
||||
if (Parser_isNameChar(*(pstr + i), TRUE) == FALSE) {
|
||||
if (Parser_isNameChar((int)*pstr, FALSE) == TRUE) {
|
||||
for (i = (size_t)1; i < nameLen; ++i) {
|
||||
if (Parser_isNameChar((int)*(pstr + i), TRUE) == FALSE) {
|
||||
/* illegal char */
|
||||
return FALSE;
|
||||
}
|
||||
@@ -2522,7 +2535,7 @@ static int Parser_readFileOrBuffer(
|
||||
BOOL file)
|
||||
{
|
||||
long fileSize = 0;
|
||||
size_t bytesRead = 0;
|
||||
size_t bytesRead = (size_t)0;
|
||||
FILE *xmlFilePtr = NULL;
|
||||
|
||||
if( file ) {
|
||||
@@ -2532,12 +2545,12 @@ static int Parser_readFileOrBuffer(
|
||||
} else {
|
||||
fseek( xmlFilePtr, 0, SEEK_END );
|
||||
fileSize = ftell( xmlFilePtr );
|
||||
if( fileSize == 0 ) {
|
||||
if( fileSize <= 0 ) {
|
||||
fclose( xmlFilePtr );
|
||||
return IXML_SYNTAX_ERR;
|
||||
}
|
||||
|
||||
xmlParser->dataBuffer = (char *)malloc((size_t)fileSize + 1);
|
||||
xmlParser->dataBuffer = (char *)malloc((size_t)fileSize + (size_t)1);
|
||||
if( xmlParser->dataBuffer == NULL ) {
|
||||
fclose( xmlFilePtr );
|
||||
return IXML_INSUFFICIENT_MEMORY;
|
||||
@@ -2545,7 +2558,7 @@ static int Parser_readFileOrBuffer(
|
||||
|
||||
fseek( xmlFilePtr, 0, SEEK_SET );
|
||||
bytesRead =
|
||||
fread(xmlParser->dataBuffer, 1, (size_t)fileSize, xmlFilePtr);
|
||||
fread(xmlParser->dataBuffer, (size_t)1, (size_t)fileSize, xmlFilePtr);
|
||||
/* append null */
|
||||
xmlParser->dataBuffer[bytesRead] = '\0';
|
||||
fclose( xmlFilePtr );
|
||||
@@ -2652,12 +2665,12 @@ int Parser_setNodePrefixAndLocalName(
|
||||
/* fill in the local name and prefix */
|
||||
pLocalName = ( char * )pStrPrefix + 1;
|
||||
nPrefix = pStrPrefix - node->nodeName;
|
||||
node->prefix = malloc((size_t)nPrefix + 1);
|
||||
node->prefix = malloc((size_t)nPrefix + (size_t)1);
|
||||
if (!node->prefix) {
|
||||
return IXML_INSUFFICIENT_MEMORY;
|
||||
}
|
||||
|
||||
memset(node->prefix, 0, (size_t)nPrefix + 1);
|
||||
memset(node->prefix, 0, (size_t)nPrefix + (size_t)1);
|
||||
strncpy(node->prefix, node->nodeName, (size_t)nPrefix);
|
||||
|
||||
node->localName = safe_strdup( pLocalName );
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
*
|
||||
* Copyright (c) 2000-2003 Intel Corporation
|
||||
* All rights reserved.
|
||||
* Copyright (c) 2012 France Telecom All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
@@ -53,11 +54,11 @@ static unsigned long ixmlNamedNodeMap_getItemNumber(
|
||||
IN const char *name)
|
||||
{
|
||||
IXML_Node *tempNode;
|
||||
unsigned long returnItemNo = 0;
|
||||
unsigned long returnItemNo = 0lu;
|
||||
|
||||
assert(nnMap != NULL && name != NULL);
|
||||
if (nnMap == NULL || name == NULL) {
|
||||
return IXML_INVALID_ITEM_NUMBER;
|
||||
return (unsigned long)IXML_INVALID_ITEM_NUMBER;
|
||||
}
|
||||
|
||||
tempNode = nnMap->nodeItem;
|
||||
@@ -69,7 +70,7 @@ static unsigned long ixmlNamedNodeMap_getItemNumber(
|
||||
returnItemNo++;
|
||||
}
|
||||
|
||||
return IXML_INVALID_ITEM_NUMBER;
|
||||
return (unsigned long)IXML_INVALID_ITEM_NUMBER;
|
||||
}
|
||||
|
||||
|
||||
@@ -92,7 +93,7 @@ IXML_Node *ixmlNamedNodeMap_getNamedItem(
|
||||
}
|
||||
|
||||
index = ixmlNamedNodeMap_getItemNumber(nnMap, name);
|
||||
if (index == IXML_INVALID_ITEM_NUMBER) {
|
||||
if (index == (unsigned long)IXML_INVALID_ITEM_NUMBER) {
|
||||
return NULL;
|
||||
} else {
|
||||
return ixmlNamedNodeMap_item(nnMap, index);
|
||||
@@ -111,12 +112,12 @@ IXML_Node *ixmlNamedNodeMap_item(
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (index > ixmlNamedNodeMap_getLength(nnMap) - 1) {
|
||||
if (index > ixmlNamedNodeMap_getLength(nnMap) - 1lu) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
tempNode = nnMap->nodeItem;
|
||||
for (i = 0; i < index && tempNode != NULL; ++i) {
|
||||
for (i = 0u; i < index && tempNode != NULL; ++i) {
|
||||
tempNode = tempNode->nextSibling;
|
||||
}
|
||||
|
||||
@@ -127,11 +128,11 @@ IXML_Node *ixmlNamedNodeMap_item(
|
||||
unsigned long ixmlNamedNodeMap_getLength(IXML_NamedNodeMap *nnMap)
|
||||
{
|
||||
IXML_Node *tempNode;
|
||||
unsigned long length = 0;
|
||||
unsigned long length = 0lu;
|
||||
|
||||
if (nnMap != NULL) {
|
||||
tempNode = nnMap->nodeItem;
|
||||
for (length = 0; tempNode != NULL; ++length) {
|
||||
for (length = 0lu; tempNode != NULL; ++length) {
|
||||
tempNode = tempNode->nextSibling;
|
||||
}
|
||||
}
|
||||
|
||||
131
ixml/src/node.c
131
ixml/src/node.c
@@ -2,6 +2,7 @@
|
||||
*
|
||||
* Copyright (c) 2000-2003 Intel Corporation
|
||||
* All rights reserved.
|
||||
* Copyright (c) 2012 France Telecom All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
@@ -90,9 +91,13 @@ static void ixmlNode_freeSingleNode(
|
||||
if (nodeptr->localName != NULL) {
|
||||
free(nodeptr->localName);
|
||||
}
|
||||
if (nodeptr->nodeType == eELEMENT_NODE) {
|
||||
switch (nodeptr->nodeType ) {
|
||||
case eELEMENT_NODE:
|
||||
element = (IXML_Element *)nodeptr;
|
||||
free(element->tagName);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
free(nodeptr);
|
||||
}
|
||||
@@ -280,7 +285,7 @@ unsigned short ixmlNode_getNodeType(IXML_Node *nodeptr)
|
||||
if (nodeptr != NULL) {
|
||||
return nodeptr->nodeType;
|
||||
} else {
|
||||
return eINVALID_NODE;
|
||||
return (unsigned short)eINVALID_NODE;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -397,7 +402,8 @@ static BOOL ixmlNode_isParent(
|
||||
|
||||
assert(nodeptr != NULL && toFind != NULL);
|
||||
|
||||
found = toFind->parentNode == nodeptr;
|
||||
if (nodeptr != NULL && toFind != NULL)
|
||||
found = toFind->parentNode == nodeptr;
|
||||
|
||||
return found;
|
||||
}
|
||||
@@ -422,17 +428,22 @@ static BOOL ixmlNode_allowChildren(
|
||||
case eTEXT_NODE:
|
||||
case eCDATA_SECTION_NODE:
|
||||
return FALSE;
|
||||
break;
|
||||
|
||||
case eELEMENT_NODE:
|
||||
if (newChild->nodeType == eATTRIBUTE_NODE ||
|
||||
newChild->nodeType == eDOCUMENT_NODE) {
|
||||
switch (newChild->nodeType) {
|
||||
case eATTRIBUTE_NODE:
|
||||
case eDOCUMENT_NODE:
|
||||
return FALSE;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case eDOCUMENT_NODE:
|
||||
if (newChild->nodeType != eELEMENT_NODE) {
|
||||
switch (newChild->nodeType) {
|
||||
case eELEMENT_NODE:
|
||||
break;
|
||||
default:
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@@ -500,7 +511,7 @@ int ixmlNode_insertBefore(
|
||||
|
||||
if (refChild != NULL) {
|
||||
if (ixmlNode_isParent(nodeptr, newChild) == TRUE) {
|
||||
ixmlNode_removeChild(nodeptr, newChild, NULL);
|
||||
ixmlNode_removeChild(nodeptr, newChild, &newChild);
|
||||
newChild->nextSibling = NULL;
|
||||
newChild->prevSibling = NULL;
|
||||
}
|
||||
@@ -566,29 +577,23 @@ int ixmlNode_removeChild(
|
||||
IXML_Node *oldChild,
|
||||
IXML_Node **returnNode)
|
||||
{
|
||||
if (nodeptr == NULL || oldChild == NULL) {
|
||||
if (!nodeptr || !oldChild)
|
||||
return IXML_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
if (ixmlNode_isParent(nodeptr, oldChild) == FALSE ) {
|
||||
if (!ixmlNode_isParent(nodeptr, oldChild))
|
||||
return IXML_NOT_FOUND_ERR;
|
||||
}
|
||||
|
||||
if (oldChild->prevSibling != NULL) {
|
||||
if (oldChild->prevSibling)
|
||||
oldChild->prevSibling->nextSibling = oldChild->nextSibling;
|
||||
}
|
||||
if (nodeptr->firstChild == oldChild) {
|
||||
if (nodeptr->firstChild == oldChild)
|
||||
nodeptr->firstChild = oldChild->nextSibling;
|
||||
}
|
||||
if (oldChild->nextSibling != NULL) {
|
||||
if (oldChild->nextSibling)
|
||||
oldChild->nextSibling->prevSibling = oldChild->prevSibling;
|
||||
}
|
||||
oldChild->nextSibling = NULL;
|
||||
oldChild->prevSibling = NULL;
|
||||
oldChild->parentNode = NULL;
|
||||
if (returnNode != NULL) {
|
||||
if (returnNode)
|
||||
*returnNode = oldChild;
|
||||
}
|
||||
else
|
||||
ixmlNode_free(oldChild);
|
||||
|
||||
return IXML_SUCCESS;
|
||||
}
|
||||
@@ -617,7 +622,7 @@ int ixmlNode_appendChild(IXML_Node *nodeptr, IXML_Node *newChild)
|
||||
}
|
||||
|
||||
if (ixmlNode_isParent(nodeptr, newChild) == TRUE ) {
|
||||
ixmlNode_removeChild(nodeptr, newChild, NULL);
|
||||
ixmlNode_removeChild(nodeptr, newChild, &newChild);
|
||||
}
|
||||
/* set the parent node pointer */
|
||||
newChild->parentNode = nodeptr;
|
||||
@@ -650,6 +655,7 @@ static IXML_Node *ixmlNode_cloneTextNode(
|
||||
IXML_Node *nodeptr)
|
||||
{
|
||||
IXML_Node *newNode = NULL;
|
||||
int rc;
|
||||
|
||||
assert(nodeptr != NULL);
|
||||
|
||||
@@ -658,8 +664,16 @@ static IXML_Node *ixmlNode_cloneTextNode(
|
||||
return NULL;
|
||||
} else {
|
||||
ixmlNode_init(newNode);
|
||||
ixmlNode_setNodeName(newNode, nodeptr->nodeName);
|
||||
ixmlNode_setNodeValue(newNode, nodeptr->nodeValue);
|
||||
rc = ixmlNode_setNodeName(newNode, nodeptr->nodeName);
|
||||
if (rc != IXML_SUCCESS) {
|
||||
ixmlNode_free(newNode);
|
||||
return NULL;
|
||||
}
|
||||
rc = ixmlNode_setNodeValue(newNode, nodeptr->nodeValue);
|
||||
if (rc != IXML_SUCCESS) {
|
||||
ixmlNode_free(newNode);
|
||||
return NULL;
|
||||
}
|
||||
newNode->nodeType = eTEXT_NODE;
|
||||
}
|
||||
|
||||
@@ -678,15 +692,24 @@ static IXML_CDATASection *ixmlNode_cloneCDATASect(
|
||||
IXML_CDATASection *newCDATA = NULL;
|
||||
IXML_Node *newNode;
|
||||
IXML_Node *srcNode;
|
||||
int rc;
|
||||
|
||||
assert(nodeptr != NULL);
|
||||
newCDATA = (IXML_CDATASection *)malloc(sizeof (IXML_CDATASection));
|
||||
if (newCDATA != NULL) {
|
||||
newNode = (IXML_Node *)newCDATA;
|
||||
ixmlNode_init(newNode);
|
||||
ixmlCDATASection_init(newCDATA);
|
||||
srcNode = (IXML_Node *)nodeptr;
|
||||
ixmlNode_setNodeName(newNode, srcNode->nodeName);
|
||||
ixmlNode_setNodeValue(newNode, srcNode->nodeValue);
|
||||
rc = ixmlNode_setNodeName(newNode, srcNode->nodeName);
|
||||
if (rc != IXML_SUCCESS) {
|
||||
ixmlCDATASection_free(newCDATA);
|
||||
return NULL;
|
||||
}
|
||||
rc = ixmlNode_setNodeValue(newNode, srcNode->nodeValue);
|
||||
if (rc != IXML_SUCCESS) {
|
||||
ixmlCDATASection_free(newCDATA);
|
||||
return NULL;
|
||||
}
|
||||
newNode->nodeType = eCDATA_SECTION_NODE;
|
||||
}
|
||||
|
||||
@@ -761,42 +784,32 @@ static IXML_Element *ixmlNode_cloneElement(
|
||||
|
||||
|
||||
/*!
|
||||
* \brief Returns a clone of a document node.
|
||||
* \brief Returns a new document node.
|
||||
*
|
||||
* Currently, the IXML_Document struct is just a node, so this function
|
||||
* just mallocs the IXML_Document, sets the node type and name. Curiously,
|
||||
* the parameter nodeptr is not actually used.
|
||||
* just mallocs the IXML_Document, sets the node type and name.
|
||||
*
|
||||
* \return A clone of a document node.
|
||||
* \return A new document node.
|
||||
*/
|
||||
static IXML_Document *ixmlNode_cloneDoc(
|
||||
/*! [in] The \b Node to clone. */
|
||||
IXML_Document *nodeptr)
|
||||
static IXML_Document *ixmlNode_newDoc(void)
|
||||
{
|
||||
IXML_Document *newDoc;
|
||||
IXML_Node *docNode;
|
||||
int rc;
|
||||
|
||||
assert(nodeptr != NULL);
|
||||
|
||||
newDoc = (IXML_Document *)malloc(sizeof (IXML_Document));
|
||||
if (newDoc == NULL) {
|
||||
if (!newDoc)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
ixmlDocument_init(newDoc);
|
||||
docNode = (IXML_Node *)newDoc;
|
||||
|
||||
rc = ixmlNode_setNodeName(docNode, DOCUMENTNODENAME);
|
||||
if (rc != IXML_SUCCESS) {
|
||||
ixmlDocument_free(newDoc);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
newDoc->n.nodeType = eDOCUMENT_NODE;
|
||||
|
||||
return newDoc;
|
||||
nodeptr = nodeptr;
|
||||
}
|
||||
|
||||
/*!
|
||||
@@ -921,6 +934,8 @@ static IXML_Node *ixmlNode_cloneNodeTreeRecursive(
|
||||
switch (nodeptr->nodeType) {
|
||||
case eELEMENT_NODE:
|
||||
newElement = ixmlNode_cloneElement((IXML_Element *)nodeptr);
|
||||
if (newElement == NULL)
|
||||
return NULL;
|
||||
newElement->n.firstAttr = ixmlNode_cloneNodeTreeRecursive(
|
||||
nodeptr->firstAttr, deep);
|
||||
if (deep) {
|
||||
@@ -941,6 +956,8 @@ static IXML_Node *ixmlNode_cloneNodeTreeRecursive(
|
||||
|
||||
case eATTRIBUTE_NODE:
|
||||
newAttr = ixmlNode_cloneAttr((IXML_Attr *)nodeptr);
|
||||
if (newAttr == NULL)
|
||||
return NULL;
|
||||
nextSib = ixmlNode_cloneNodeTreeRecursive(nodeptr->nextSibling, deep);
|
||||
newAttr->n.nextSibling = nextSib;
|
||||
if (nextSib != NULL) {
|
||||
@@ -959,7 +976,9 @@ static IXML_Node *ixmlNode_cloneNodeTreeRecursive(
|
||||
break;
|
||||
|
||||
case eDOCUMENT_NODE:
|
||||
newDoc = ixmlNode_cloneDoc((IXML_Document *)nodeptr);
|
||||
newDoc = ixmlNode_newDoc();
|
||||
if (newDoc == NULL)
|
||||
return NULL;
|
||||
newNode = (IXML_Node *)newDoc;
|
||||
if (deep) {
|
||||
newNode->firstChild = ixmlNode_cloneNodeTreeRecursive(
|
||||
@@ -1006,6 +1025,8 @@ static IXML_Node *ixmlNode_cloneNodeTree(
|
||||
switch (nodeptr->nodeType) {
|
||||
case eELEMENT_NODE:
|
||||
newElement = ixmlNode_cloneElement((IXML_Element *)nodeptr);
|
||||
if (newElement == NULL)
|
||||
return NULL;
|
||||
newElement->n.firstAttr = ixmlNode_cloneNodeTreeRecursive(nodeptr->firstAttr, deep);
|
||||
if (deep) {
|
||||
newElement->n.firstChild = ixmlNode_cloneNodeTreeRecursive(
|
||||
@@ -1046,7 +1067,8 @@ static IXML_Node *ixmlNode_cloneNodeTree(
|
||||
}
|
||||
|
||||
/* by spec, the duplicate node has no parent */
|
||||
newNode->parentNode = NULL;
|
||||
if (newNode != NULL)
|
||||
newNode->parentNode = NULL;
|
||||
|
||||
return newNode;
|
||||
}
|
||||
@@ -1117,7 +1139,8 @@ IXML_NamedNodeMap *ixmlNode_getAttributes(IXML_Node *nodeptr)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if(nodeptr->nodeType == eELEMENT_NODE) {
|
||||
switch(nodeptr->nodeType) {
|
||||
case eELEMENT_NODE:
|
||||
returnNamedNodeMap = (IXML_NamedNodeMap *)malloc(sizeof(IXML_NamedNodeMap));
|
||||
if(returnNamedNodeMap == NULL) {
|
||||
return NULL;
|
||||
@@ -1135,7 +1158,7 @@ IXML_NamedNodeMap *ixmlNode_getAttributes(IXML_Node *nodeptr)
|
||||
tempNode = tempNode->nextSibling;
|
||||
}
|
||||
return returnNamedNodeMap;
|
||||
} else {
|
||||
default:
|
||||
/* if not an ELEMENT_NODE */
|
||||
return NULL;
|
||||
}
|
||||
@@ -1155,8 +1178,13 @@ BOOL ixmlNode_hasChildNodes(IXML_Node *nodeptr)
|
||||
BOOL ixmlNode_hasAttributes(IXML_Node *nodeptr)
|
||||
{
|
||||
if (nodeptr != NULL) {
|
||||
if (nodeptr->nodeType == eELEMENT_NODE && nodeptr->firstAttr != NULL) {
|
||||
return TRUE;
|
||||
switch (nodeptr->nodeType) {
|
||||
case eELEMENT_NODE:
|
||||
if (nodeptr->firstAttr != NULL)
|
||||
return TRUE;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1311,7 +1339,10 @@ int ixmlNode_setNodeProperties(
|
||||
{
|
||||
int rc;
|
||||
|
||||
assert(destNode != NULL || src != NULL);
|
||||
assert(destNode != NULL && src != NULL);
|
||||
if(destNode == NULL || src == NULL) {
|
||||
return IXML_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
rc = ixmlNode_setNodeValue(destNode, src->nodeValue);
|
||||
if(rc != IXML_SUCCESS) {
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
*
|
||||
* Copyright (c) 2000-2003 Intel Corporation
|
||||
* All rights reserved.
|
||||
* Copyright (c) 2012 France Telecom All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
@@ -62,12 +63,12 @@ IXML_Node *ixmlNodeList_item(
|
||||
return NULL;
|
||||
}
|
||||
/* if index is more than list length */
|
||||
if (index > ixmlNodeList_length(nList) - 1) {
|
||||
if (index > ixmlNodeList_length(nList) - 1lu) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
next = nList;
|
||||
for (i = 0; i < index && next != NULL; ++i) {
|
||||
for (i = 0u; i < index && next != NULL; ++i) {
|
||||
next = next->next;
|
||||
}
|
||||
|
||||
@@ -127,7 +128,7 @@ int ixmlNodeList_addToNodeList(
|
||||
unsigned long ixmlNodeList_length(IXML_NodeList *nList)
|
||||
{
|
||||
IXML_NodeList *list;
|
||||
unsigned long length = 0;
|
||||
unsigned long length = 0lu;
|
||||
|
||||
list = nList;
|
||||
while (list != NULL) {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Version: 1.6.12
|
||||
Version: 1.6.20
|
||||
Summary: Universal Plug and Play (UPnP) SDK
|
||||
Name: libupnp
|
||||
Release: 1%{?dist}
|
||||
|
||||
@@ -4,7 +4,8 @@
|
||||
# (C) Copyright 2005 Remi Turboult <r3mi@users.sourceforge.net>
|
||||
#
|
||||
|
||||
AM_CPPFLAGS = -I$(srcdir)/inc -I$(srcdir)/src/inc
|
||||
AM_CPPFLAGS = -I$(srcdir)/inc -I$(srcdir)/src/inc \
|
||||
-I$(top_srcdir)/upnp/inc
|
||||
|
||||
if ENABLE_DEBUG
|
||||
AM_CPPFLAGS += -DDEBUG -DSTATS
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
*
|
||||
* Copyright (c) 2000-2003 Intel Corporation
|
||||
* All rights reserved.
|
||||
* Copyright (c) 2012 France Telecom All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
@@ -98,7 +99,7 @@ typedef enum priority {
|
||||
#define DEFAULT_MAX_THREADS 10
|
||||
|
||||
/*! default stack size used by TPAttrInit */
|
||||
#define DEFAULT_STACK_SIZE 0
|
||||
#define DEFAULT_STACK_SIZE 0u
|
||||
|
||||
/*! default jobs per thread used by TPAttrInit */
|
||||
#define DEFAULT_JOBS_PER_THREAD 10
|
||||
@@ -165,7 +166,7 @@ typedef struct THREADPOOLJOB
|
||||
void *arg;
|
||||
free_routine free_func;
|
||||
struct timeval requestTime;
|
||||
int priority;
|
||||
ThreadPriority priority;
|
||||
int jobId;
|
||||
} ThreadPoolJob;
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
*
|
||||
* Copyright (c) 2000-2003 Intel Corporation
|
||||
* All rights reserved.
|
||||
* Copyright (c) 2012 France Telecom All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
@@ -49,7 +50,7 @@ extern "C" {
|
||||
|
||||
#include <pthread.h>
|
||||
|
||||
#if defined(BSD)
|
||||
#if defined(BSD) && !defined(__GNU__)
|
||||
#define PTHREAD_MUTEX_RECURSIVE_NP PTHREAD_MUTEX_RECURSIVE
|
||||
#endif
|
||||
|
||||
@@ -76,7 +77,8 @@ extern "C" {
|
||||
|
||||
|
||||
#define ITHREAD_STACK_MIN PTHREAD_STACK_MIN
|
||||
|
||||
#define ITHREAD_CREATE_DETACHED PTHREAD_CREATE_DETACHED
|
||||
#define ITHREAD_CREATE_JOINABLE PTHREAD_CREATE_JOINABLE
|
||||
|
||||
/***************************************************************************
|
||||
* Name: ithread_t
|
||||
@@ -198,10 +200,6 @@ typedef pthread_rwlockattr_t ithread_rwlockattr_t;
|
||||
static UPNP_INLINE int ithread_initialize_library(void) {
|
||||
int ret = 0;
|
||||
|
||||
#if defined(WIN32) && defined(PTW32_STATIC_LIB)
|
||||
ret = !pthread_win32_process_attach_np();
|
||||
#endif
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -220,10 +218,6 @@ static UPNP_INLINE int ithread_initialize_library(void) {
|
||||
static UPNP_INLINE int ithread_cleanup_library(void) {
|
||||
int ret = 0;
|
||||
|
||||
#if defined(WIN32) && defined(PTW32_STATIC_LIB)
|
||||
ret = !pthread_win32_process_detach_np();
|
||||
#endif
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -778,6 +772,22 @@ static UPNP_INLINE int ithread_cleanup_thread(void) {
|
||||
***************************************************************************/
|
||||
#define ithread_attr_setstacksize pthread_attr_setstacksize
|
||||
|
||||
/****************************************************************************
|
||||
* Function: ithread_attr_setdetachstate
|
||||
*
|
||||
* Description:
|
||||
* Sets detach state of a thread attribute object.
|
||||
* Parameters:
|
||||
* ithread_attr_t *attr (must be valid non NULL pointer to
|
||||
* ithread_attr_t)
|
||||
* int detachstate (value of detachstate must be ITHREAD_CREATE_DETACHED
|
||||
* or ITHREAD_CREATE_JOINABLE)
|
||||
* Returns:
|
||||
* 0 on success. Nonzero on failure.
|
||||
* See man page for pthread_attr_setdetachstate
|
||||
***************************************************************************/
|
||||
#define ithread_attr_setdetachstate pthread_attr_setdetachstate
|
||||
|
||||
/****************************************************************************
|
||||
* Function: ithread_create
|
||||
*
|
||||
@@ -922,7 +932,8 @@ static UPNP_INLINE int ithread_cleanup_thread(void) {
|
||||
#endif
|
||||
|
||||
|
||||
#if !defined(PTHREAD_MUTEX_RECURSIVE) && !defined(__DragonFly__)
|
||||
#if !defined(PTHREAD_MUTEX_RECURSIVE) && !defined(__DragonFly__) && !defined(UPNP_USE_MSVCPP)
|
||||
/* !defined(UPNP_USE_MSVCPP) should probably also have pthreads version check - but it's not clear if that is possible */
|
||||
/* NK: Added for satisfying the gcc compiler */
|
||||
EXPORT_SPEC int pthread_mutexattr_setkind_np(pthread_mutexattr_t *attr, int kind);
|
||||
#endif
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
*
|
||||
* Copyright (c) 2000-2003 Intel Corporation
|
||||
* All rights reserved.
|
||||
* Copyright (c) 2012 France Telecom All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
@@ -102,7 +103,7 @@ int ListInit(LinkedList *list, cmp_routine cmp_func, free_function free_func)
|
||||
list->tail.prev = &list->head;
|
||||
list->tail.next = NULL;
|
||||
|
||||
return 0;
|
||||
return retCode;
|
||||
}
|
||||
|
||||
ListNode *ListAddHead(LinkedList *list, void *item)
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
*
|
||||
* Copyright (c) 2000-2003 Intel Corporation
|
||||
* All rights reserved.
|
||||
* Copyright (c) 2012 France Telecom All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
@@ -59,15 +60,15 @@ static long DiffMillis(
|
||||
/*! . */
|
||||
struct timeval *time2)
|
||||
{
|
||||
double temp = 0;
|
||||
double temp = 0.0;
|
||||
|
||||
temp = (double)(time1->tv_sec - time2->tv_sec);
|
||||
temp = (double)time1->tv_sec - (double)time2->tv_sec;
|
||||
/* convert to milliseconds */
|
||||
temp *= 1000;
|
||||
temp *= 1000.0;
|
||||
|
||||
/* convert microseconds to milliseconds and add to temp */
|
||||
/* implicit flooring of unsigned long data type */
|
||||
temp += (double)((time1->tv_usec - time2->tv_usec) / 1000);
|
||||
temp += ((double)time1->tv_usec - (double)time2->tv_usec) / 1000.0;
|
||||
|
||||
return (long)temp;
|
||||
}
|
||||
@@ -82,18 +83,18 @@ static void StatsInit(
|
||||
/*! Must be valid non null stats structure. */
|
||||
ThreadPoolStats *stats)
|
||||
{
|
||||
stats->totalIdleTime = 0;
|
||||
stats->totalIdleTime = 0.0;
|
||||
stats->totalJobsHQ = 0;
|
||||
stats->totalJobsLQ = 0;
|
||||
stats->totalJobsMQ = 0;
|
||||
stats->totalTimeHQ = 0;
|
||||
stats->totalTimeMQ = 0;
|
||||
stats->totalTimeLQ = 0;
|
||||
stats->totalWorkTime = 0;
|
||||
stats->totalIdleTime = 0;
|
||||
stats->avgWaitHQ = 0;
|
||||
stats->avgWaitMQ = 0;
|
||||
stats->avgWaitLQ = 0;
|
||||
stats->totalTimeHQ = 0.0;
|
||||
stats->totalTimeMQ = 0.0;
|
||||
stats->totalTimeLQ = 0.0;
|
||||
stats->totalWorkTime = 0.0;
|
||||
stats->totalIdleTime = 0.0;
|
||||
stats->avgWaitHQ = 0.0;
|
||||
stats->avgWaitMQ = 0.0;
|
||||
stats->avgWaitLQ = 0.0;
|
||||
stats->workerThreads = 0;
|
||||
stats->idleThreads = 0;
|
||||
stats->persistentThreads = 0;
|
||||
@@ -292,8 +293,8 @@ static int SetPriority(
|
||||
/*! . */
|
||||
ThreadPriority priority)
|
||||
{
|
||||
int retVal = 0;
|
||||
#if defined(_POSIX_PRIORITY_SCHEDULING) && _POSIX_PRIORITY_SCHEDULING > 0
|
||||
int retVal = 0;
|
||||
int currentPolicy;
|
||||
int minPriority = 0;
|
||||
int maxPriority = 0;
|
||||
@@ -325,11 +326,12 @@ static int SetPriority(
|
||||
|
||||
sched_result = pthread_setschedparam(ithread_self(), currentPolicy, &newPriority);
|
||||
retVal = (sched_result == 0 || errno == EPERM) ? 0 : sched_result;
|
||||
#else
|
||||
retVal = 0;
|
||||
#endif
|
||||
exit_function:
|
||||
return retVal;
|
||||
#else
|
||||
return 0;
|
||||
priority = priority;
|
||||
#endif
|
||||
}
|
||||
|
||||
/*!
|
||||
@@ -475,7 +477,7 @@ static void *WorkerThread(
|
||||
}
|
||||
retCode = 0;
|
||||
tp->stats.idleThreads++;
|
||||
tp->stats.totalWorkTime += (double)(StatsTime(NULL) - start);
|
||||
tp->stats.totalWorkTime += (double)StatsTime(NULL) - (double)start;
|
||||
StatsTime(&start);
|
||||
if (persistent == 0) {
|
||||
tp->stats.workerThreads--;
|
||||
@@ -508,7 +510,7 @@ static void *WorkerThread(
|
||||
}
|
||||
tp->stats.idleThreads--;
|
||||
/* idle time */
|
||||
tp->stats.totalIdleTime += (double)(StatsTime(NULL) - start);
|
||||
tp->stats.totalIdleTime += (double)StatsTime(NULL) - (double)start;
|
||||
/* work time */
|
||||
StatsTime(&start);
|
||||
/* bump priority of starved jobs */
|
||||
@@ -530,16 +532,28 @@ static void *WorkerThread(
|
||||
/* Pick the highest priority job */
|
||||
if (tp->highJobQ.size > 0) {
|
||||
head = ListHead(&tp->highJobQ);
|
||||
if (head == NULL) {
|
||||
tp->stats.workerThreads--;
|
||||
goto exit_function;
|
||||
}
|
||||
job = (ThreadPoolJob *) head->item;
|
||||
CalcWaitTime(tp, HIGH_PRIORITY, job);
|
||||
ListDelNode(&tp->highJobQ, head, 0);
|
||||
} else if (tp->medJobQ.size > 0) {
|
||||
head = ListHead(&tp->medJobQ);
|
||||
if (head == NULL) {
|
||||
tp->stats.workerThreads--;
|
||||
goto exit_function;
|
||||
}
|
||||
job = (ThreadPoolJob *) head->item;
|
||||
CalcWaitTime(tp, MED_PRIORITY, job);
|
||||
ListDelNode(&tp->medJobQ, head, 0);
|
||||
} else if (tp->lowJobQ.size > 0) {
|
||||
head = ListHead(&tp->lowJobQ);
|
||||
if (head == NULL) {
|
||||
tp->stats.workerThreads--;
|
||||
goto exit_function;
|
||||
}
|
||||
job = (ThreadPoolJob *) head->item;
|
||||
CalcWaitTime(tp, LOW_PRIORITY, job);
|
||||
ListDelNode(&tp->lowJobQ, head, 0);
|
||||
@@ -633,10 +647,15 @@ static int CreateWorker(
|
||||
}
|
||||
ithread_attr_init(&attr);
|
||||
ithread_attr_setstacksize(&attr, tp->attr.stackSize);
|
||||
ithread_attr_setdetachstate(&attr, ITHREAD_CREATE_DETACHED);
|
||||
rc = ithread_create(&temp, &attr, WorkerThread, tp);
|
||||
ithread_attr_destroy(&attr);
|
||||
if (rc == 0) {
|
||||
rc = ithread_detach(temp);
|
||||
/* ithread_detach will return EINVAL if thread has been
|
||||
successfully detached by ithread_create */
|
||||
if (rc == EINVAL)
|
||||
rc = 0;
|
||||
tp->pendingWorkerThreadStart = 1;
|
||||
/* wait until the new worker thread starts */
|
||||
while (tp->pendingWorkerThreadStart) {
|
||||
@@ -693,6 +712,10 @@ int ThreadPoolInit(ThreadPool *tp, ThreadPoolAttr *attr)
|
||||
retCode += ithread_cond_init(&tp->condition, NULL);
|
||||
retCode += ithread_cond_init(&tp->start_and_shutdown, NULL);
|
||||
if (retCode) {
|
||||
ithread_mutex_unlock(&tp->mutex);
|
||||
ithread_mutex_destroy(&tp->mutex);
|
||||
ithread_cond_destroy(&tp->condition);
|
||||
ithread_cond_destroy(&tp->start_and_shutdown);
|
||||
return EAGAIN;
|
||||
}
|
||||
if (attr) {
|
||||
@@ -813,13 +836,16 @@ int ThreadPoolAdd(ThreadPool *tp, ThreadPoolJob *job, int *jobId)
|
||||
temp = CreateThreadPoolJob(job, tp->lastJobId, tp);
|
||||
if (!temp)
|
||||
goto exit_function;
|
||||
if (job->priority == HIGH_PRIORITY) {
|
||||
switch (job->priority) {
|
||||
case HIGH_PRIORITY:
|
||||
if (ListAddTail(&tp->highJobQ, temp))
|
||||
rc = 0;
|
||||
} else if (job->priority == MED_PRIORITY) {
|
||||
break;
|
||||
case MED_PRIORITY:
|
||||
if (ListAddTail(&tp->medJobQ, temp))
|
||||
rc = 0;
|
||||
} else {
|
||||
break;
|
||||
default:
|
||||
if (ListAddTail(&tp->lowJobQ, temp))
|
||||
rc = 0;
|
||||
}
|
||||
@@ -960,6 +986,10 @@ int ThreadPoolShutdown(ThreadPool *tp)
|
||||
/* clean up high priority jobs */
|
||||
while (tp->highJobQ.size) {
|
||||
head = ListHead(&tp->highJobQ);
|
||||
if (head == NULL) {
|
||||
ithread_mutex_unlock(&tp->mutex);
|
||||
return EINVAL;
|
||||
}
|
||||
temp = (ThreadPoolJob *)head->item;
|
||||
if (temp->free_func)
|
||||
temp->free_func(temp->arg);
|
||||
@@ -970,6 +1000,10 @@ int ThreadPoolShutdown(ThreadPool *tp)
|
||||
/* clean up med priority jobs */
|
||||
while (tp->medJobQ.size) {
|
||||
head = ListHead(&tp->medJobQ);
|
||||
if (head == NULL) {
|
||||
ithread_mutex_unlock(&tp->mutex);
|
||||
return EINVAL;
|
||||
}
|
||||
temp = (ThreadPoolJob *)head->item;
|
||||
if (temp->free_func)
|
||||
temp->free_func(temp->arg);
|
||||
@@ -980,6 +1014,10 @@ int ThreadPoolShutdown(ThreadPool *tp)
|
||||
/* clean up low priority jobs */
|
||||
while (tp->lowJobQ.size) {
|
||||
head = ListHead(&tp->lowJobQ);
|
||||
if (head == NULL) {
|
||||
ithread_mutex_unlock(&tp->mutex);
|
||||
return EINVAL;
|
||||
}
|
||||
temp = (ThreadPoolJob *)head->item;
|
||||
if (temp->free_func)
|
||||
temp->free_func(temp->arg);
|
||||
@@ -1046,12 +1084,13 @@ int TPJobSetPriority(ThreadPoolJob *job, ThreadPriority priority)
|
||||
{
|
||||
if (!job)
|
||||
return EINVAL;
|
||||
if (priority == LOW_PRIORITY ||
|
||||
priority == MED_PRIORITY ||
|
||||
priority == HIGH_PRIORITY) {
|
||||
switch (priority) {
|
||||
case LOW_PRIORITY:
|
||||
case MED_PRIORITY:
|
||||
case HIGH_PRIORITY:
|
||||
job->priority = priority;
|
||||
return 0;
|
||||
} else {
|
||||
default:
|
||||
return EINVAL;
|
||||
}
|
||||
}
|
||||
@@ -1169,17 +1208,17 @@ int ThreadPoolGetStats(ThreadPool *tp, ThreadPoolStats *stats)
|
||||
|
||||
*stats = tp->stats;
|
||||
if (stats->totalJobsHQ > 0)
|
||||
stats->avgWaitHQ = stats->totalTimeHQ / stats->totalJobsHQ;
|
||||
stats->avgWaitHQ = stats->totalTimeHQ / (double)stats->totalJobsHQ;
|
||||
else
|
||||
stats->avgWaitHQ = 0;
|
||||
stats->avgWaitHQ = 0.0;
|
||||
if (stats->totalJobsMQ > 0)
|
||||
stats->avgWaitMQ = stats->totalTimeMQ / stats->totalJobsMQ;
|
||||
stats->avgWaitMQ = stats->totalTimeMQ / (double)stats->totalJobsMQ;
|
||||
else
|
||||
stats->avgWaitMQ = 0;
|
||||
stats->avgWaitMQ = 0.0;
|
||||
if (stats->totalJobsLQ > 0)
|
||||
stats->avgWaitLQ = stats->totalTimeLQ / stats->totalJobsLQ;
|
||||
stats->avgWaitLQ = stats->totalTimeLQ / (double)stats->totalJobsLQ;
|
||||
else
|
||||
stats->avgWaitLQ = 0;
|
||||
stats->avgWaitLQ = 0.0;
|
||||
stats->totalThreads = tp->totalThreads;
|
||||
stats->persistentThreads = tp->persistentThreads;
|
||||
stats->currentJobsHQ = (int)ListSize(&tp->highJobQ);
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
*
|
||||
* Copyright (c) 2000-2003 Intel Corporation
|
||||
* All rights reserved.
|
||||
* Copyright (c) 2012 France Telecom All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
@@ -84,6 +85,10 @@ static void *TimerThreadWorker(
|
||||
/* Get the next event if possible. */
|
||||
if (timer->eventQ.size > 0) {
|
||||
head = ListHead( &timer->eventQ );
|
||||
if (head == NULL) {
|
||||
ithread_mutex_unlock( &timer->mutex );
|
||||
return NULL;
|
||||
}
|
||||
nextEvent = ( TimerEvent * ) head->item;
|
||||
nextEventTime = nextEvent->eventTime;
|
||||
}
|
||||
@@ -91,10 +96,17 @@ static void *TimerThreadWorker(
|
||||
/* If time has elapsed, schedule job. */
|
||||
if (nextEvent && currentTime >= nextEventTime) {
|
||||
if( nextEvent->persistent ) {
|
||||
ThreadPoolAddPersistent( timer->tp, &nextEvent->job,
|
||||
&tempId );
|
||||
if (ThreadPoolAddPersistent( timer->tp, &nextEvent->job, &tempId ) != 0) {
|
||||
if (nextEvent->job.arg != NULL && nextEvent->job.free_func != NULL) {
|
||||
nextEvent->job.free_func(nextEvent->job.arg);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
ThreadPoolAdd( timer->tp, &nextEvent->job, &tempId );
|
||||
if (ThreadPoolAdd( timer->tp, &nextEvent->job, &tempId ) != 0) {
|
||||
if (nextEvent->job.arg != NULL && nextEvent->job.free_func != NULL) {
|
||||
nextEvent->job.free_func(nextEvent->job.arg);
|
||||
}
|
||||
}
|
||||
}
|
||||
ListDelNode( &timer->eventQ, head, 0 );
|
||||
FreeTimerEvent( timer, nextEvent );
|
||||
@@ -102,7 +114,7 @@ static void *TimerThreadWorker(
|
||||
}
|
||||
if (nextEvent) {
|
||||
timeToWait.tv_nsec = 0;
|
||||
timeToWait.tv_sec = nextEvent->eventTime;
|
||||
timeToWait.tv_sec = (long)nextEvent->eventTime;
|
||||
ithread_cond_timedwait( &timer->condition, &timer->mutex,
|
||||
&timeToWait );
|
||||
} else {
|
||||
@@ -128,9 +140,10 @@ static int CalculateEventTime(
|
||||
|
||||
assert( timeout != NULL );
|
||||
|
||||
if (type == ABS_SEC)
|
||||
switch (type) {
|
||||
case ABS_SEC:
|
||||
return 0;
|
||||
else /*if (type == REL_SEC) */{
|
||||
default: /* REL_SEC) */
|
||||
time(&now);
|
||||
( *timeout ) += now;
|
||||
return 0;
|
||||
|
||||
@@ -79,17 +79,21 @@ libupnp_la_SOURCES = \
|
||||
src/inc/webserver.h
|
||||
|
||||
# ssdp
|
||||
if ENABLE_SSDP
|
||||
libupnp_la_SOURCES += \
|
||||
src/ssdp/ssdp_ResultData.h \
|
||||
src/ssdp/ssdp_device.c \
|
||||
src/ssdp/ssdp_ctrlpt.c \
|
||||
src/ssdp/ssdp_server.c
|
||||
endif
|
||||
|
||||
# soap
|
||||
if ENABLE_SOAP
|
||||
libupnp_la_SOURCES += \
|
||||
src/soap/soap_device.c \
|
||||
src/soap/soap_ctrlpt.c \
|
||||
src/soap/soap_common.c
|
||||
endif
|
||||
|
||||
# genlib
|
||||
libupnp_la_SOURCES += \
|
||||
@@ -109,10 +113,12 @@ libupnp_la_SOURCES += \
|
||||
src/genlib/net/uri/uri.c
|
||||
|
||||
# gena
|
||||
if ENABLE_GENA
|
||||
libupnp_la_SOURCES += \
|
||||
src/gena/gena_device.c \
|
||||
src/gena/gena_ctrlpt.c \
|
||||
src/gena/gena_callback2.c
|
||||
endif
|
||||
|
||||
# api
|
||||
libupnp_la_SOURCES += \
|
||||
@@ -129,10 +135,12 @@ endif
|
||||
|
||||
|
||||
# uuid
|
||||
if ENABLE_UUID
|
||||
libupnp_la_SOURCES += \
|
||||
src/uuid/md5.c \
|
||||
src/uuid/sysdep.c \
|
||||
src/uuid/uuid.c
|
||||
endif
|
||||
|
||||
|
||||
# urlconfig
|
||||
@@ -146,9 +154,10 @@ libupnp_la_SOURCES += \
|
||||
|
||||
|
||||
# check / distcheck tests
|
||||
check_PROGRAMS = test_init
|
||||
TESTS = test_init
|
||||
check_PROGRAMS = test_init test_url
|
||||
TESTS = test_init test_url
|
||||
test_init_SOURCES = test/test_init.c
|
||||
test_url_SOURCES = test/test_url.c
|
||||
|
||||
|
||||
EXTRA_DIST = \
|
||||
|
||||
@@ -34,14 +34,18 @@
|
||||
/*
|
||||
* UPNP_INLINE
|
||||
* PRId64
|
||||
* PRIzd
|
||||
* PRIzu
|
||||
* PRIzx
|
||||
*/
|
||||
#ifdef UPNP_USE_MSVCPP
|
||||
/* define some things the M$ VC++ doesn't know */
|
||||
#define UPNP_INLINE
|
||||
#define UPNP_INLINE _inline
|
||||
typedef __int64 int64_t;
|
||||
#define PRId64 "I64d"
|
||||
#define PRIzd "ld"
|
||||
#define PRIzu "lu"
|
||||
#define PRIzx "lx"
|
||||
#endif /* UPNP_USE_MSVCPP */
|
||||
|
||||
#ifdef UPNP_USE_BCBPP
|
||||
@@ -51,7 +55,9 @@
|
||||
#warning The Borland C compiler is probably broken on PRId64,
|
||||
#warning please someone provide a proper fix here
|
||||
#define PRId64 "I64d"
|
||||
#define PRIzd "zd"
|
||||
#define PRIzu "zu"
|
||||
#define PRIzx "zx"
|
||||
#endif /* UPNP_USE_BCBPP */
|
||||
|
||||
#ifdef __GNUC__
|
||||
@@ -60,7 +66,9 @@
|
||||
* runtime printf which ends up getting called, not the glibc
|
||||
* printf, so it genuinely doesn't have "zu"
|
||||
*/
|
||||
#define PRIzd "ld"
|
||||
#define PRIzu "lu"
|
||||
#define PRIzx "lx"
|
||||
#endif /* __GNUC__ */
|
||||
#else
|
||||
/*!
|
||||
@@ -93,13 +101,15 @@
|
||||
/* #define PRId64 PRId64 */
|
||||
|
||||
/*!
|
||||
* \brief Supply the PRIzu printf() macro.
|
||||
* \brief Supply the PRIz* printf() macros.
|
||||
*
|
||||
* This macro was invented so that we can live a little longer with
|
||||
* These macros were invented so that we can live a little longer with
|
||||
* MSVC lack of C99. "z" is the correct printf() size specifier for
|
||||
* the size_t type.
|
||||
*/
|
||||
#define PRIzd "zd"
|
||||
#define PRIzu "zu"
|
||||
#define PRIzx "zx"
|
||||
#endif
|
||||
|
||||
/*
|
||||
|
||||
@@ -15,13 +15,23 @@
|
||||
|
||||
#ifdef WIN32
|
||||
#include <stdarg.h>
|
||||
#include <windef.h>
|
||||
#include <winbase.h>
|
||||
#ifndef UPNP_USE_MSVCPP
|
||||
/* Removed: not required (and cause compilation issues) */
|
||||
#include <winbase.h>
|
||||
#include <windef.h>
|
||||
#endif
|
||||
#include <winsock2.h>
|
||||
#include <iphlpapi.h>
|
||||
#include <ws2tcpip.h>
|
||||
|
||||
#define UpnpCloseSocket closesocket
|
||||
|
||||
#if(_WIN32_WINNT < 0x0600)
|
||||
typedef short sa_family_t;
|
||||
#else
|
||||
typedef ADDRESS_FAMILY sa_family_t;
|
||||
#endif
|
||||
|
||||
#else /* WIN32 */
|
||||
#include <sys/param.h>
|
||||
#if defined(__sun)
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
#ifndef UPNPINTTYPES_H
|
||||
#define UPNPINTTYPES_H
|
||||
|
||||
#if !defined(UPNP_USE_BCBPP) && !defined(UPNP_USE_MSVCPP)
|
||||
#if !defined(UPNP_USE_BCBPP)
|
||||
|
||||
/* Printf format for integers. */
|
||||
#include <inttypes.h>
|
||||
|
||||
#endif /* !defined(UPNP_USE_BCBPP) && !defined(UPNP_USE_MSVCPP) */
|
||||
#endif /* !defined(UPNP_USE_BCBPP) */
|
||||
|
||||
#endif /* UPNPINTTYPES_H */
|
||||
|
||||
@@ -1,11 +1,20 @@
|
||||
#ifndef UPNPSTDINT_H
|
||||
#define UPNPSTDINT_H
|
||||
|
||||
#if !defined(UPNP_USE_BCBPP) && !defined(UPNP_USE_MSVCPP)
|
||||
#if !defined(UPNP_USE_BCBPP)
|
||||
|
||||
/* Sized integer types. */
|
||||
#include <stdint.h>
|
||||
|
||||
#endif /* !defined(UPNP_USE_BCBPP) && !defined(UPNP_USE_MSVCPP) */
|
||||
#ifdef UPNP_USE_MSVCPP
|
||||
/* no ssize_t defined for VC */
|
||||
#ifdef _WIN64
|
||||
typedef int64_t ssize_t;
|
||||
#else
|
||||
typedef int32_t ssize_t;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#endif /* !defined(UPNP_USE_BCBPP) */
|
||||
|
||||
#endif /* UPNPSTDINT_H */
|
||||
|
||||
163
upnp/inc/upnp.h
163
upnp/inc/upnp.h
@@ -5,6 +5,7 @@
|
||||
*
|
||||
* Copyright (c) 2000-2003 Intel Corporation
|
||||
* All rights reserved.
|
||||
* Copyright (C) 2011-2012 France Telecom All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
@@ -51,14 +52,17 @@
|
||||
*/
|
||||
#ifdef WIN32
|
||||
#include <time.h>
|
||||
#ifdef UPNP_USE_MSVCPP
|
||||
#include <sys/types.h> /* needed for off_t */
|
||||
#endif
|
||||
#elif (defined(BSD) && BSD >= 199306)
|
||||
#include <time.h>
|
||||
#else
|
||||
/* Other systems ??? */
|
||||
#endif
|
||||
|
||||
#define LINE_SIZE 180
|
||||
#define NAME_SIZE 256
|
||||
#define LINE_SIZE (size_t)180
|
||||
#define NAME_SIZE (size_t)256
|
||||
#define MNFT_NAME_SIZE 64
|
||||
#define MODL_NAME_SIZE 32
|
||||
#define SERL_NUMR_SIZE 64
|
||||
@@ -128,8 +132,9 @@
|
||||
#define UPNP_E_BUFFER_TOO_SMALL -106
|
||||
|
||||
/*!
|
||||
* \brief The description document passed to \b UpnpRegisterRootDevice or
|
||||
* \b UpnpRegisterRootDevice2 is invalid.
|
||||
* \brief The description document passed to \b UpnpRegisterRootDevice,
|
||||
* \b UpnpRegisterRootDevice2 \b UpnpRegisterRootDevice3 or
|
||||
* \b UpnpRegisterRootDevice4 is invalid.
|
||||
*/
|
||||
#define UPNP_E_INVALID_DESC -107
|
||||
|
||||
@@ -420,7 +425,8 @@ typedef int UpnpClient_Handle;
|
||||
|
||||
/*!
|
||||
* \brief Returned when a device application registers with
|
||||
* \b UpnpRegisterRootDevice or \b UpnpRegisterRootDevice2.
|
||||
* \b UpnpRegisterRootDevice, \b UpnpRegisterRootDevice2,
|
||||
* \b UpnpRegisterRootDevice3 or \b UpnpRegisterRootDevice4.
|
||||
*
|
||||
* Device handles can only be used with functions that operate with a device
|
||||
* handle.
|
||||
@@ -750,7 +756,7 @@ struct Upnp_Discovery
|
||||
char Ext[LINE_SIZE];
|
||||
|
||||
/** The host address of the device responding to the search. */
|
||||
struct sockaddr_in DestAddr;
|
||||
struct sockaddr_storage DestAddr;
|
||||
};
|
||||
|
||||
/** Returned along with a {\bf UPNP_EVENT_SUBSCRIBE_COMPLETE} or {\bf
|
||||
@@ -1207,11 +1213,65 @@ EXPORT_SPEC int UpnpRegisterRootDevice3(
|
||||
UpnpDevice_Handle *Hnd,
|
||||
/*! [in] Address family of this device. Can be AF_INET for an IPv4 device, or
|
||||
* AF_INET6 for an IPv6 device. Defaults to AF_INET. */
|
||||
const int AddressFamily);
|
||||
int AddressFamily);
|
||||
|
||||
/*!
|
||||
* \brief Unregisters a root device registered with \b UpnpRegisterRootDevice or
|
||||
* \b UpnpRegisterRootDevice2.
|
||||
* \brief Registers a device application for a specific address family with
|
||||
* the UPnP library. This function can also be used to specify a dedicated
|
||||
* description URL to be returned for legacy CPs.
|
||||
*
|
||||
* A device application cannot make any other API calls until it registers
|
||||
* using this function. Device applications can also register as control
|
||||
* points (see \b UpnpRegisterClient to get a control point handle to perform
|
||||
* control point functionality).
|
||||
*
|
||||
* This is synchronous and does not generate any callbacks. Callbacks can occur
|
||||
* as soon as this function returns.
|
||||
*
|
||||
* \return An integer representing one of the following:
|
||||
* \li \c UPNP_E_SUCCESS: The operation completed successfully.
|
||||
* \li \c UPNP_E_FINISH: The SDK is already terminated or
|
||||
* is not initialized.
|
||||
* \li \c UPNP_E_INVALID_DESC: The description document was not
|
||||
* a valid device description.
|
||||
* \li \c UPNP_E_INVALID_URL: The URL for the description document
|
||||
* is not valid.
|
||||
* \li \c UPNP_E_INVALID_PARAM: Either \b Callback or \b Hnd
|
||||
* is not a valid pointer or \b DescURL is \c NULL.
|
||||
* \li \c UPNP_E_NETWORK_ERROR: A network error occurred.
|
||||
* \li \c UPNP_E_SOCKET_WRITE: An error or timeout occurred writing
|
||||
* to a socket.
|
||||
* \li \c UPNP_E_SOCKET_READ: An error or timeout occurred reading
|
||||
* from a socket.
|
||||
* \li \c UPNP_E_SOCKET_BIND: An error occurred binding a socket.
|
||||
* \li \c UPNP_E_SOCKET_CONNECT: An error occurred connecting the
|
||||
* socket.
|
||||
* \li \c UPNP_E_OUTOF_SOCKET: Too many sockets are currently
|
||||
* allocated.
|
||||
* \li \c UPNP_E_OUTOF_MEMORY: There are insufficient resources to
|
||||
* register this root device.
|
||||
*/
|
||||
EXPORT_SPEC int UpnpRegisterRootDevice4(
|
||||
/*! [in] Pointer to a string containing the description URL for this root
|
||||
* device instance. */
|
||||
const char *DescUrl,
|
||||
/*! [in] Pointer to the callback function for receiving asynchronous events. */
|
||||
Upnp_FunPtr Callback,
|
||||
/*! [in] Pointer to user data returned with the callback function when invoked. */
|
||||
const void *Cookie,
|
||||
/*! [out] Pointer to a variable to store the new device handle. */
|
||||
UpnpDevice_Handle *Hnd,
|
||||
/*! [in] Address family of this device. Can be AF_INET for an IPv4 device, or
|
||||
* AF_INET6 for an IPv6 device. Defaults to AF_INET. */
|
||||
int AddressFamily,
|
||||
/*! [in] Pointer to a string containing the description URL to be returned for
|
||||
* legacy CPs for this root device instance. */
|
||||
const char *LowerDescUrl);
|
||||
|
||||
/*!
|
||||
* \brief Unregisters a root device registered with \b UpnpRegisterRootDevice,
|
||||
* \b UpnpRegisterRootDevice2, \b UpnpRegisterRootDevice3 or
|
||||
* \b UpnpRegisterRootDevice4.
|
||||
*
|
||||
* After this call, the \b UpnpDevice_Handle is no longer valid. For all
|
||||
* advertisements that have not yet expired, the SDK sends a device unavailable
|
||||
@@ -1228,6 +1288,35 @@ EXPORT_SPEC int UpnpUnRegisterRootDevice(
|
||||
/*! [in] The handle of the root device instance to unregister. */
|
||||
UpnpDevice_Handle Hnd);
|
||||
|
||||
/*!
|
||||
* \brief Unregisters a root device registered with \b UpnpRegisterRootDevice,
|
||||
* \b UpnpRegisterRootDevice2, \b UpnpRegisterRootDevice3 or
|
||||
* \b UpnpRegisterRootDevice4.
|
||||
*
|
||||
* After this call, the \b UpnpDevice_Handle is no longer valid. For all
|
||||
* advertisements that have not yet expired, the SDK sends a device unavailable
|
||||
* message automatically.
|
||||
*
|
||||
* This is a synchronous call and generates no callbacks. Once this call
|
||||
* returns, the SDK will no longer generate callbacks to the application.
|
||||
*
|
||||
* This function allow a device to specify the SSDP extensions defined by UPnP
|
||||
* Low Power.
|
||||
*
|
||||
* \return An integer representing one of the following:
|
||||
* \li \c UPNP_E_SUCCESS: The operation completed successfully.
|
||||
* \li \c UPNP_E_INVALID_HANDLE: The handle is not a valid device handle.
|
||||
*/
|
||||
EXPORT_SPEC int UpnpUnRegisterRootDeviceLowPower(
|
||||
/*! [in] The handle of the root device instance to unregister. */
|
||||
UpnpDevice_Handle Hnd,
|
||||
/*! PowerState as defined by UPnP Low Power. */
|
||||
int PowerState,
|
||||
/*! SleepPeriod as defined by UPnP Low Power. */
|
||||
int SleepPeriod,
|
||||
/*! RegistrationState as defined by UPnP Low Power. */
|
||||
int RegistrationState);
|
||||
|
||||
/*!
|
||||
* \brief Registers a control point application with the UPnP Library.
|
||||
*
|
||||
@@ -1382,6 +1471,36 @@ EXPORT_SPEC int UpnpSendAdvertisement(
|
||||
/*! The expiration age, in seconds, of the announcements. */
|
||||
int Exp);
|
||||
|
||||
/*!
|
||||
* \brief Sends out the discovery announcements for all devices and services
|
||||
* for a device.
|
||||
*
|
||||
* Each announcement is made with the same expiration time.
|
||||
*
|
||||
* This is a synchronous call.
|
||||
*
|
||||
* This function allow a device to specify the SSDP extensions defined by UPnP
|
||||
* Low Power.
|
||||
*
|
||||
* \return An integer representing one of the following:
|
||||
* \li \c UPNP_E_SUCCESS: The operation completed successfully.
|
||||
* \li \c UPNP_E_INVALID_HANDLE: The handle is not a valid
|
||||
* device handle.
|
||||
* \li \c UPNP_E_OUTOF_MEMORY: There are insufficient resources to
|
||||
* send future advertisements.
|
||||
*/
|
||||
EXPORT_SPEC int UpnpSendAdvertisementLowPower(
|
||||
/*! The device handle for which to send out the announcements. */
|
||||
UpnpDevice_Handle Hnd,
|
||||
/*! The expiration age, in seconds, of the announcements. */
|
||||
int Exp,
|
||||
/*! PowerState as defined by UPnP Low Power. */
|
||||
int PowerState,
|
||||
/*! SleepPeriod as defined by UPnP Low Power. */
|
||||
int SleepPeriod,
|
||||
/*! RegistrationState as defined by UPnP Low Power. */
|
||||
int RegistrationState);
|
||||
|
||||
/* @} Discovery */
|
||||
|
||||
/******************************************************************************
|
||||
@@ -2671,6 +2790,21 @@ typedef int (*VDCallback_Close)(
|
||||
*/
|
||||
EXPORT_SPEC int UpnpVirtualDir_set_CloseCallback(VDCallback_Close callback);
|
||||
|
||||
/*!
|
||||
* \brief The {\bf UpnpVirtualDirCallbacks} structure contains the pointers to
|
||||
* file-related callback functions a device application can register to
|
||||
* virtualize URLs.
|
||||
*/
|
||||
struct UpnpVirtualDirCallbacks
|
||||
{
|
||||
VDCallback_GetInfo get_info;
|
||||
VDCallback_Open open;
|
||||
VDCallback_Read read;
|
||||
VDCallback_Write write;
|
||||
VDCallback_Seek seek;
|
||||
VDCallback_Close close;
|
||||
};
|
||||
|
||||
/*!
|
||||
* \brief Enables or disables the webserver.
|
||||
*
|
||||
@@ -2691,6 +2825,17 @@ EXPORT_SPEC int UpnpEnableWebserver(
|
||||
*/
|
||||
EXPORT_SPEC int UpnpIsWebserverEnabled(void);
|
||||
|
||||
/*!
|
||||
* \brief Sets the callback functions to be used to access a virtual directory.
|
||||
*
|
||||
* \return An integer representing one of the following:
|
||||
* \li \c UPNP_E_SUCCESS: The operation completed successfully.
|
||||
* \li \c UPNP_E_INVALID_PARAM: one of the callbacks is not valid.
|
||||
*/
|
||||
EXPORT_SPEC int UpnpSetVirtualDirCallbacks(
|
||||
/*! [in] A structure that contains the callback functions. */
|
||||
struct UpnpVirtualDirCallbacks *callbacks );
|
||||
|
||||
/*!
|
||||
* \brief Adds a virtual directory mapping.
|
||||
*
|
||||
|
||||
@@ -99,6 +99,26 @@
|
||||
#undef UPNP_HAVE_WEBSERVER
|
||||
|
||||
|
||||
/** Defined to 1 if the library has been compiled with the SSDP part enabled
|
||||
* (i.e. configure --enable-ssdp) */
|
||||
#undef UPNP_HAVE_SSDP
|
||||
|
||||
|
||||
/** Defined to 1 if the library has been compiled with optional SSDP headers
|
||||
* support (i.e. configure --enable-optssdp) */
|
||||
#undef UPNP_HAVE_OPTSSDP
|
||||
|
||||
|
||||
/** Defined to 1 if the library has been compiled with the SOAP part enabled
|
||||
* (i.e. configure --enable-soap) */
|
||||
#undef UPNP_HAVE_SOAP
|
||||
|
||||
|
||||
/** Defined to 1 if the library has been compiled with the GENA part enabled
|
||||
* (i.e. configure --enable-gena) */
|
||||
#undef UPNP_HAVE_GENA
|
||||
|
||||
|
||||
/** Defined to 1 if the library has been compiled with helper API
|
||||
* (i.e. configure --enable-tools) : <upnp/upnptools.h> file is available */
|
||||
#undef UPNP_HAVE_TOOLS
|
||||
@@ -107,5 +127,9 @@
|
||||
* (i.e. configure --enable-ipv6) */
|
||||
#undef UPNP_ENABLE_IPV6
|
||||
|
||||
/** Defined to 1 if the library has been compiled with unspecified SERVER
|
||||
* header (i.e. configure --enable-unspecified_server) */
|
||||
#undef UPNP_ENABLE_UNSPECIFIED_SERVER
|
||||
|
||||
#endif /* UPNP_CONFIG_H */
|
||||
|
||||
|
||||
@@ -50,6 +50,7 @@
|
||||
|
||||
|
||||
#include "ixml.h" /* for IXML_Document */
|
||||
#include "upnpconfig.h" /* for UPNP_HAVE_TOOLS */
|
||||
|
||||
|
||||
/* Function declarations only if tools compiled into the library */
|
||||
|
||||
@@ -65,9 +65,8 @@ tv_combo_SOURCES = \
|
||||
if WITH_DOCUMENTATION
|
||||
examplesdir = $(docdir)/examples
|
||||
examples_DATA = \
|
||||
$(sort \
|
||||
$(tv_ctrlpt_SOURCES) \
|
||||
$(tv_device_SOURCES))
|
||||
$(tv_ctrlpt_SOURCES) \
|
||||
$(tv_device_SOURCES)
|
||||
endif
|
||||
|
||||
EXTRA_DIST = \
|
||||
|
||||
@@ -741,6 +741,10 @@ void TvCtrlPointAddDevice(
|
||||
deviceNode->device.AdvrTimeOut = expires;
|
||||
for (service = 0; service < TV_SERVICE_SERVCOUNT;
|
||||
service++) {
|
||||
if (serviceId[service] == NULL) {
|
||||
/* not found */
|
||||
continue;
|
||||
}
|
||||
strcpy(deviceNode->device.TvService[service].
|
||||
ServiceId, serviceId[service]);
|
||||
strcpy(deviceNode->device.TvService[service].
|
||||
|
||||
@@ -55,6 +55,9 @@ int main(int argc, char *argv[])
|
||||
}
|
||||
/* start a command loop thread */
|
||||
code = ithread_create(&cmdloop_thread, NULL, TvCtrlPointCommandLoop, NULL);
|
||||
if (code != 0) {
|
||||
return UPNP_E_INTERNAL_ERROR;
|
||||
}
|
||||
#ifdef WIN32
|
||||
ithread_join(cmdloop_thread, NULL);
|
||||
#else
|
||||
|
||||
@@ -54,6 +54,9 @@ int main(int argc, char **argv)
|
||||
}
|
||||
/* start a command loop thread */
|
||||
code = ithread_create(&cmdloop_thread, NULL, TvCtrlPointCommandLoop, NULL);
|
||||
if (code != 0) {
|
||||
return UPNP_E_INTERNAL_ERROR;
|
||||
}
|
||||
#ifdef WIN32
|
||||
ithread_join(cmdloop_thread, NULL);
|
||||
#else
|
||||
|
||||
@@ -46,9 +46,16 @@ int main(int argc, char *argv[])
|
||||
#endif
|
||||
int code;
|
||||
|
||||
device_main(argc, argv);
|
||||
rc = device_main(argc, argv);
|
||||
if (rc != UPNP_E_SUCCESS) {
|
||||
return rc;
|
||||
}
|
||||
|
||||
/* start a command loop thread */
|
||||
code = ithread_create(&cmdloop_thread, NULL, TvDeviceCommandLoop, NULL);
|
||||
if (code != 0) {
|
||||
return UPNP_E_INTERNAL_ERROR;
|
||||
}
|
||||
#ifdef WIN32
|
||||
ithread_join(cmdloop_thread, NULL);
|
||||
#else
|
||||
|
||||
@@ -28,25 +28,28 @@
|
||||
/* Other systems have strncasecmp */
|
||||
#endif
|
||||
|
||||
/* strnlen() is a GNU extension. */
|
||||
#if HAVE_STRNLEN
|
||||
extern size_t strnlen(const char *s, size_t maxlen);
|
||||
#else /* HAVE_STRNLEN */
|
||||
static size_t strnlen(const char *s, size_t n)
|
||||
{
|
||||
const char *p = (const char *)memchr(s, 0, n);
|
||||
return p ? p - s : n;
|
||||
}
|
||||
#endif /* HAVE_STRNLEN */
|
||||
#ifndef UPNP_USE_MSVCPP
|
||||
/* VC has strnlen which is already included but with (potentially) different linkage */
|
||||
/* strnlen() is a GNU extension. */
|
||||
#if HAVE_STRNLEN
|
||||
extern size_t strnlen(const char *s, size_t maxlen);
|
||||
#else /* HAVE_STRNLEN */
|
||||
static size_t strnlen(const char *s, size_t n)
|
||||
{
|
||||
const char *p = (const char *)memchr(s, 0, n);
|
||||
return p ? p - s : n;
|
||||
}
|
||||
#endif /* HAVE_STRNLEN */
|
||||
#endif /* WIN32 */
|
||||
|
||||
/* strndup() is a GNU extension. */
|
||||
#if HAVE_STRNDUP && !defined(WIN32)
|
||||
extern char *strndup(__const char *__string, size_t __n);
|
||||
#else /* HAVE_STRNDUP && !defined(WIN32) */
|
||||
#if !HAVE_STRNDUP || defined(WIN32)
|
||||
static char *strndup(const char *__string, size_t __n)
|
||||
{
|
||||
size_t strsize = strnlen(__string, __n);
|
||||
char *newstr = (char *)malloc(strsize + 1);
|
||||
if (newstr == NULL)
|
||||
return NULL;
|
||||
|
||||
strncpy(newstr, __string, strsize);
|
||||
newstr[strsize] = 0;
|
||||
@@ -72,7 +75,7 @@ struct SUpnpString
|
||||
UpnpString *UpnpString_new()
|
||||
{
|
||||
/* All bytes are zero, and so is the length of the string. */
|
||||
struct SUpnpString *p = calloc(1, sizeof (struct SUpnpString));
|
||||
struct SUpnpString *p = calloc((size_t)1, sizeof (struct SUpnpString));
|
||||
if (p == NULL) {
|
||||
goto error_handler1;
|
||||
}
|
||||
@@ -81,7 +84,7 @@ UpnpString *UpnpString_new()
|
||||
#endif
|
||||
|
||||
/* This byte is zero, calloc does initialize it. */
|
||||
p->m_string = calloc(1, 1);
|
||||
p->m_string = calloc((size_t)1, (size_t)1);
|
||||
if (p->m_string == NULL) {
|
||||
goto error_handler2;
|
||||
}
|
||||
@@ -101,7 +104,7 @@ void UpnpString_delete(UpnpString *p)
|
||||
|
||||
if (!q) return;
|
||||
|
||||
q->m_length = 0;
|
||||
q->m_length = (size_t)0;
|
||||
|
||||
free(q->m_string);
|
||||
q->m_string = NULL;
|
||||
@@ -111,7 +114,7 @@ void UpnpString_delete(UpnpString *p)
|
||||
|
||||
UpnpString *UpnpString_dup(const UpnpString *p)
|
||||
{
|
||||
struct SUpnpString *q = calloc(1, sizeof (struct SUpnpString));
|
||||
struct SUpnpString *q = calloc((size_t)1, sizeof (struct SUpnpString));
|
||||
if (q == NULL) {
|
||||
goto error_handler1;
|
||||
}
|
||||
@@ -182,7 +185,7 @@ error_handler1:
|
||||
|
||||
void UpnpString_clear(UpnpString *p)
|
||||
{
|
||||
((struct SUpnpString *)p)->m_length = 0;
|
||||
((struct SUpnpString *)p)->m_length = (size_t)0;
|
||||
/* No need to realloc now, will do later when needed. */
|
||||
((struct SUpnpString *)p)->m_string[0] = 0;
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -118,6 +118,7 @@ int DebugAtThisLevel(Upnp_LogLevel DLevel, Dbg_Module Module)
|
||||
(Module == DOM && DEBUG_DOM) || (Module == HTTP && DEBUG_HTTP);
|
||||
|
||||
return ret;
|
||||
Module = Module; /* VC complains about this being unreferenced */
|
||||
}
|
||||
|
||||
void UpnpPrintf(Upnp_LogLevel DLevel,
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
*
|
||||
* Copyright (c) 2000-2003 Intel Corporation
|
||||
* All rights reserved.
|
||||
* Copyright (c) 2012 France Telecom All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
@@ -55,6 +56,9 @@
|
||||
/*! Maximum action header buffer length. */
|
||||
#define HEADER_LENGTH 2000
|
||||
|
||||
#ifdef WIN32
|
||||
#define snprintf _snprintf
|
||||
#endif
|
||||
|
||||
/*!
|
||||
* \brief Structure to maintain a error code and string associated with the
|
||||
@@ -157,7 +161,7 @@ int UpnpResolveURL(
|
||||
ret = UPNP_E_INVALID_URL;
|
||||
|
||||
ExitFunction:
|
||||
return UPNP_E_SUCCESS;
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
@@ -177,7 +181,7 @@ int UpnpResolveURL2(
|
||||
ret = UPNP_E_INVALID_URL;
|
||||
|
||||
ExitFunction:
|
||||
return UPNP_E_SUCCESS;
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
@@ -220,14 +224,18 @@ static int addToAction(
|
||||
}
|
||||
|
||||
if (response) {
|
||||
sprintf(ActBuff,
|
||||
rc = snprintf(ActBuff, HEADER_LENGTH,
|
||||
"<u:%sResponse xmlns:u=\"%s\">\r\n</u:%sResponse>",
|
||||
ActionName, ServType, ActionName);
|
||||
} else {
|
||||
sprintf(ActBuff,
|
||||
rc = snprintf(ActBuff, HEADER_LENGTH,
|
||||
"<u:%s xmlns:u=\"%s\">\r\n</u:%s>",
|
||||
ActionName, ServType, ActionName);
|
||||
}
|
||||
if (rc < 0 || (unsigned int) rc >= HEADER_LENGTH) {
|
||||
free(ActBuff);
|
||||
return UPNP_E_OUTOF_MEMORY;
|
||||
}
|
||||
|
||||
rc = ixmlParseBufferEx(ActBuff, ActionDoc);
|
||||
free(ActBuff);
|
||||
@@ -282,6 +290,7 @@ static IXML_Document *makeAction(
|
||||
IXML_Node *node;
|
||||
IXML_Element *Ele;
|
||||
IXML_Node *Txt = NULL;
|
||||
int rc = 0;
|
||||
|
||||
if (ActionName == NULL || ServType == NULL) {
|
||||
return NULL;
|
||||
@@ -293,15 +302,16 @@ static IXML_Document *makeAction(
|
||||
}
|
||||
|
||||
if (response) {
|
||||
sprintf(ActBuff,
|
||||
rc = snprintf(ActBuff, HEADER_LENGTH,
|
||||
"<u:%sResponse xmlns:u=\"%s\">\r\n</u:%sResponse>",
|
||||
ActionName, ServType, ActionName);
|
||||
} else {
|
||||
sprintf(ActBuff,
|
||||
rc = snprintf(ActBuff, HEADER_LENGTH,
|
||||
"<u:%s xmlns:u=\"%s\">\r\n</u:%s>",
|
||||
ActionName, ServType, ActionName);
|
||||
}
|
||||
if (ixmlParseBufferEx(ActBuff, &ActionDoc) != IXML_SUCCESS) {
|
||||
if (rc < 0 || (unsigned int) rc >= HEADER_LENGTH ||
|
||||
ixmlParseBufferEx(ActBuff, &ActionDoc) != IXML_SUCCESS) {
|
||||
free(ActBuff);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
*
|
||||
* Copyright (c) 2000-2003 Intel Corporation
|
||||
* All rights reserved.
|
||||
* Copyright (c) 2012 France Telecom All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
@@ -51,6 +52,9 @@
|
||||
#include "uuid.h"
|
||||
#include "upnpapi.h"
|
||||
|
||||
#ifdef WIN32
|
||||
#define snprintf _snprintf
|
||||
#endif
|
||||
|
||||
extern ithread_mutex_t GlobalClientSubscribeMutex;
|
||||
|
||||
@@ -142,6 +146,8 @@ static int ScheduleGenaAutoRenew(
|
||||
const UpnpString *tmpSID = UpnpClientSubscription_get_SID(sub);
|
||||
const UpnpString *tmpEventURL = UpnpClientSubscription_get_EventURL(sub);
|
||||
|
||||
memset(&job, 0, sizeof(job));
|
||||
|
||||
if (TimeOut == UPNP_INFINITE) {
|
||||
return_code = GENA_SUCCESS;
|
||||
goto end_function;
|
||||
@@ -152,6 +158,7 @@ static int ScheduleGenaAutoRenew(
|
||||
return_code = UPNP_E_OUTOF_MEMORY;
|
||||
goto end_function;
|
||||
}
|
||||
memset(RenewEventStruct, 0, sizeof(struct Upnp_Event_Subscribe));
|
||||
|
||||
RenewEvent = (upnp_timeout *) malloc(sizeof(upnp_timeout));
|
||||
if (RenewEvent == NULL) {
|
||||
@@ -159,11 +166,13 @@ static int ScheduleGenaAutoRenew(
|
||||
return_code = UPNP_E_OUTOF_MEMORY;
|
||||
goto end_function;
|
||||
}
|
||||
memset(RenewEvent, 0, sizeof(upnp_timeout));
|
||||
|
||||
/* schedule expire event */
|
||||
RenewEventStruct->ErrCode = UPNP_E_SUCCESS;
|
||||
RenewEventStruct->TimeOut = TimeOut;
|
||||
strcpy(RenewEventStruct->Sid, UpnpString_get_String(tmpSID));
|
||||
strncpy(RenewEventStruct->Sid, UpnpString_get_String(tmpSID),
|
||||
sizeof(RenewEventStruct->Sid) - 1);
|
||||
strncpy(RenewEventStruct->PublisherUrl,
|
||||
UpnpString_get_String(tmpEventURL), NAME_SIZE - 1);
|
||||
|
||||
@@ -283,6 +292,7 @@ static int gena_subscribe(
|
||||
membuffer request;
|
||||
uri_type dest_url;
|
||||
http_parser_t response;
|
||||
int rc = 0;
|
||||
|
||||
UpnpString_clear(sid);
|
||||
|
||||
@@ -291,12 +301,16 @@ static int gena_subscribe(
|
||||
timeout = &local_timeout;
|
||||
}
|
||||
if (*timeout < 0) {
|
||||
strcpy(timeout_str, "infinite");
|
||||
memset(timeout_str, 0, sizeof(timeout_str));
|
||||
strncpy(timeout_str, "infinite", sizeof(timeout_str) - 1);
|
||||
} else if(*timeout < CP_MINIMUM_SUBSCRIPTION_TIME) {
|
||||
sprintf(timeout_str, "%d", CP_MINIMUM_SUBSCRIPTION_TIME);
|
||||
rc = snprintf(timeout_str, sizeof(timeout_str),
|
||||
"%d", CP_MINIMUM_SUBSCRIPTION_TIME);
|
||||
} else {
|
||||
sprintf(timeout_str, "%d", *timeout);
|
||||
rc = snprintf(timeout_str, sizeof(timeout_str), "%d", *timeout);
|
||||
}
|
||||
if (rc < 0 || (unsigned int) rc >= sizeof(timeout_str))
|
||||
return UPNP_E_OUTOF_MEMORY;
|
||||
|
||||
/* parse url */
|
||||
return_code = http_FixStrUrl(
|
||||
@@ -512,6 +526,10 @@ int genaSubscribe(
|
||||
UpnpString *ActualSID = UpnpString_new();
|
||||
UpnpString *EventURL = UpnpString_new();
|
||||
struct Handle_Info *handle_info;
|
||||
int rc = 0;
|
||||
|
||||
memset(temp_sid, 0, sizeof(temp_sid));
|
||||
memset(temp_sid2, 0, sizeof(temp_sid2));
|
||||
|
||||
UpnpPrintf(UPNP_INFO, GENA, __FILE__, __LINE__, "GENA SUBSCRIBE BEGIN");
|
||||
|
||||
@@ -520,9 +538,9 @@ int genaSubscribe(
|
||||
HandleReadLock();
|
||||
/* validate handle */
|
||||
if (GetHandleInfo(client_handle, &handle_info) != HND_CLIENT) {
|
||||
HandleUnlock();
|
||||
|
||||
return GENA_E_BAD_HANDLE;
|
||||
return_code = GENA_E_BAD_HANDLE;
|
||||
SubscribeLock();
|
||||
goto error_handler;
|
||||
}
|
||||
HandleUnlock();
|
||||
|
||||
@@ -545,7 +563,11 @@ int genaSubscribe(
|
||||
/* generate client SID */
|
||||
uuid_create(&uid );
|
||||
uuid_unpack(&uid, temp_sid);
|
||||
sprintf(temp_sid2, "uuid:%s", temp_sid);
|
||||
rc = snprintf(temp_sid2, sizeof(temp_sid2), "uuid:%s", temp_sid);
|
||||
if (rc < 0 || (unsigned int) rc >= sizeof(temp_sid2)) {
|
||||
return_code = UPNP_E_OUTOF_MEMORY;
|
||||
goto error_handler;
|
||||
}
|
||||
UpnpString_set_String(out_sid, temp_sid2);
|
||||
|
||||
/* create event url */
|
||||
@@ -567,11 +589,10 @@ int genaSubscribe(
|
||||
return_code = ScheduleGenaAutoRenew(client_handle, *TimeOut, newSubscription);
|
||||
|
||||
error_handler:
|
||||
if (return_code != UPNP_E_SUCCESS) {
|
||||
UpnpString_delete(ActualSID);
|
||||
UpnpString_delete(EventURL);
|
||||
UpnpString_delete(ActualSID);
|
||||
UpnpString_delete(EventURL);
|
||||
if (return_code != UPNP_E_SUCCESS)
|
||||
UpnpClientSubscription_delete(newSubscription);
|
||||
}
|
||||
HandleUnlock();
|
||||
SubscribeUnlock();
|
||||
|
||||
@@ -789,7 +810,9 @@ void gena_process_notification_event(
|
||||
|
||||
/* fill event struct */
|
||||
tmpSID = UpnpClientSubscription_get_SID(subscription);
|
||||
strcpy(event_struct.Sid, UpnpString_get_String(tmpSID));
|
||||
memset(event_struct.Sid, 0, sizeof(event_struct.Sid));
|
||||
strncpy(event_struct.Sid, UpnpString_get_String(tmpSID),
|
||||
sizeof(event_struct.Sid) - 1);
|
||||
event_struct.EventKey = eventKey;
|
||||
event_struct.ChangedVariables = ChangedVars;
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
*
|
||||
* Copyright (c) 2000-2003 Intel Corporation
|
||||
* All rights reserved.
|
||||
* Copyright (c) 2012 France Telecom All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
@@ -49,6 +50,10 @@
|
||||
#include "upnpapi.h"
|
||||
#include "uuid.h"
|
||||
|
||||
#ifdef WIN32
|
||||
#define snprintf _snprintf
|
||||
#endif
|
||||
|
||||
/*!
|
||||
* \brief Unregisters a device.
|
||||
*
|
||||
@@ -97,12 +102,11 @@ static int GeneratePropertySet(
|
||||
char *buffer;
|
||||
int counter = 0;
|
||||
size_t size = 0;
|
||||
int temp_counter = 0;
|
||||
|
||||
/*size += strlen(XML_VERSION);*/
|
||||
size += strlen(XML_PROPERTYSET_HEADER);
|
||||
size += strlen("</e:propertyset>\n\n");
|
||||
for (temp_counter = 0, counter = 0; counter < count; counter++) {
|
||||
for (counter = 0; counter < count; counter++) {
|
||||
size += strlen( "<e:property>\n</e:property>\n" );
|
||||
size += 2 * strlen(names[counter]) +
|
||||
strlen(values[counter]) +
|
||||
@@ -210,7 +214,7 @@ static UPNP_INLINE int notify_send_and_recv(
|
||||
"bbb",
|
||||
start_msg.buf, start_msg.length,
|
||||
propertySet, strlen(propertySet),
|
||||
CRLF, sizeof CRLF);
|
||||
CRLF, strlen(CRLF));
|
||||
if (ret_code) {
|
||||
membuffer_destroy(&start_msg);
|
||||
sock_destroy(&info, SD_BOTH);
|
||||
@@ -253,14 +257,11 @@ static int genaNotify(
|
||||
{
|
||||
size_t i;
|
||||
membuffer mid_msg;
|
||||
membuffer endmsg;
|
||||
uri_type *url;
|
||||
http_parser_t response;
|
||||
int return_code = -1;
|
||||
|
||||
membuffer_init(&mid_msg);
|
||||
/* make 'end' msg (the part that won't vary with the destination) */
|
||||
endmsg.size_inc = 30;
|
||||
if (http_MakeMessage(&mid_msg, 1, 1,
|
||||
"s" "ssc" "sdcc",
|
||||
headers,
|
||||
@@ -315,6 +316,8 @@ static void genaNotifyThread(
|
||||
struct Handle_Info *handle_info;
|
||||
ThreadPoolJob job;
|
||||
|
||||
memset(&job, 0, sizeof(job));
|
||||
|
||||
/* This should be a HandleLock and not a HandleReadLock otherwise if there
|
||||
* is a lot of notifications, then multiple threads will acquire a read
|
||||
* lock and the thread which sends the notification will be blocked forever
|
||||
@@ -410,6 +413,7 @@ static char *AllocGenaHeaders(
|
||||
char *headers = NULL;
|
||||
size_t headers_size = 0;
|
||||
int line = 0;
|
||||
int rc = 0;
|
||||
|
||||
headers_size =
|
||||
strlen(HEADER_LINE_1 ) +
|
||||
@@ -422,7 +426,7 @@ static char *AllocGenaHeaders(
|
||||
line = __LINE__;
|
||||
goto ExitFunction;
|
||||
}
|
||||
sprintf(headers, "%s%s%"PRIzu"%s%s%s",
|
||||
rc = snprintf(headers, headers_size, "%s%s%"PRIzu"%s%s%s",
|
||||
HEADER_LINE_1,
|
||||
HEADER_LINE_2A,
|
||||
strlen(propertySet) + 1,
|
||||
@@ -431,7 +435,7 @@ static char *AllocGenaHeaders(
|
||||
HEADER_LINE_4);
|
||||
|
||||
ExitFunction:
|
||||
if (headers == NULL) {
|
||||
if (headers == NULL || rc < 0 || (unsigned int) rc >= headers_size) {
|
||||
UpnpPrintf(UPNP_ALL, GENA, __FILE__, line,
|
||||
"AllocGenaHeaders(): Error UPNP_E_OUTOF_MEMORY\n");
|
||||
}
|
||||
@@ -463,6 +467,8 @@ int genaInitNotify(
|
||||
struct Handle_Info *handle_info;
|
||||
ThreadPoolJob job;
|
||||
|
||||
memset(&job, 0, sizeof(job));
|
||||
|
||||
UpnpPrintf(UPNP_INFO, GENA, __FILE__, __LINE__,
|
||||
"GENA BEGIN INITIAL NOTIFY");
|
||||
|
||||
@@ -474,23 +480,20 @@ int genaInitNotify(
|
||||
}
|
||||
*reference_count = 0;
|
||||
|
||||
UDN_copy = (char *)malloc(strlen(UDN) + 1);
|
||||
UDN_copy = strdup(UDN);
|
||||
if (UDN_copy == NULL) {
|
||||
line = __LINE__;
|
||||
ret = UPNP_E_OUTOF_MEMORY;
|
||||
goto ExitFunction;
|
||||
}
|
||||
|
||||
servId_copy = (char *)malloc(strlen(servId) + 1);
|
||||
servId_copy = strdup(servId);
|
||||
if (servId_copy == NULL) {
|
||||
line = __LINE__;
|
||||
ret = UPNP_E_OUTOF_MEMORY;
|
||||
goto ExitFunction;
|
||||
}
|
||||
|
||||
strcpy(UDN_copy, UDN);
|
||||
strcpy(servId_copy, servId);
|
||||
|
||||
HandleLock();
|
||||
|
||||
if (GetHandleInfo(device_handle, &handle_info) != HND_DEVICE) {
|
||||
@@ -553,7 +556,9 @@ int genaInitNotify(
|
||||
thread_struct->UDN = UDN_copy;
|
||||
thread_struct->headers = headers;
|
||||
thread_struct->propertySet = propertySet;
|
||||
strcpy(thread_struct->sid, sid);
|
||||
memset(thread_struct->sid, 0, sizeof(thread_struct->sid));
|
||||
strncpy(thread_struct->sid, sid,
|
||||
sizeof(thread_struct->sid) - 1);
|
||||
thread_struct->eventKey = sub->eventKey++;
|
||||
thread_struct->reference_count = reference_count;
|
||||
thread_struct->device_handle = device_handle;
|
||||
@@ -616,6 +621,8 @@ int genaInitNotifyExt(
|
||||
struct Handle_Info *handle_info;
|
||||
ThreadPoolJob job;
|
||||
|
||||
memset(&job, 0, sizeof(job));
|
||||
|
||||
UpnpPrintf(UPNP_INFO, GENA, __FILE__, __LINE__,
|
||||
"GENA BEGIN INITIAL NOTIFY EXT");
|
||||
|
||||
@@ -627,23 +634,20 @@ int genaInitNotifyExt(
|
||||
}
|
||||
*reference_count = 0;
|
||||
|
||||
UDN_copy = (char *)malloc(strlen(UDN) + 1);
|
||||
UDN_copy = strdup(UDN);
|
||||
if (UDN_copy == NULL) {
|
||||
line = __LINE__;
|
||||
ret = UPNP_E_OUTOF_MEMORY;
|
||||
goto ExitFunction;
|
||||
}
|
||||
|
||||
servId_copy = (char *)malloc(strlen(servId) + 1);
|
||||
servId_copy = strdup(servId);
|
||||
if( servId_copy == NULL ) {
|
||||
line = __LINE__;
|
||||
ret = UPNP_E_OUTOF_MEMORY;
|
||||
goto ExitFunction;
|
||||
}
|
||||
|
||||
strcpy(UDN_copy, UDN);
|
||||
strcpy(servId_copy, servId);
|
||||
|
||||
HandleLock();
|
||||
|
||||
if (GetHandleInfo(device_handle, &handle_info) != HND_DEVICE) {
|
||||
@@ -707,7 +711,9 @@ int genaInitNotifyExt(
|
||||
thread_struct->UDN = UDN_copy;
|
||||
thread_struct->headers = headers;
|
||||
thread_struct->propertySet = propertySet;
|
||||
strcpy(thread_struct->sid, sid);
|
||||
memset(thread_struct->sid, 0, sizeof(thread_struct->sid));
|
||||
strncpy(thread_struct->sid, sid,
|
||||
sizeof(thread_struct->sid) - 1);
|
||||
thread_struct->eventKey = sub->eventKey++;
|
||||
thread_struct->reference_count = reference_count;
|
||||
thread_struct->device_handle = device_handle;
|
||||
@@ -769,6 +775,8 @@ int genaNotifyAllExt(
|
||||
struct Handle_Info *handle_info;
|
||||
ThreadPoolJob job;
|
||||
|
||||
memset(&job, 0, sizeof(job));
|
||||
|
||||
UpnpPrintf(UPNP_INFO, GENA, __FILE__, __LINE__,
|
||||
"GENA BEGIN NOTIFY ALL EXT");
|
||||
|
||||
@@ -780,23 +788,20 @@ int genaNotifyAllExt(
|
||||
}
|
||||
*reference_count = 0;
|
||||
|
||||
UDN_copy = (char *)malloc(strlen(UDN) + 1);
|
||||
UDN_copy = strdup(UDN);
|
||||
if (UDN_copy == NULL) {
|
||||
line = __LINE__;
|
||||
ret = UPNP_E_OUTOF_MEMORY;
|
||||
goto ExitFunction;
|
||||
}
|
||||
|
||||
servId_copy = (char *)malloc(strlen(servId) + 1);
|
||||
servId_copy = strdup(servId);
|
||||
if( servId_copy == NULL ) {
|
||||
line = __LINE__;
|
||||
ret = UPNP_E_OUTOF_MEMORY;
|
||||
goto ExitFunction;
|
||||
}
|
||||
|
||||
strcpy(UDN_copy, UDN);
|
||||
strcpy(servId_copy, servId);
|
||||
|
||||
propertySet = ixmlPrintNode((IXML_Node *)PropSet);
|
||||
if (propertySet == NULL) {
|
||||
line = __LINE__;
|
||||
@@ -837,7 +842,10 @@ int genaNotifyAllExt(
|
||||
thread_struct->servId = servId_copy;
|
||||
thread_struct->headers = headers;
|
||||
thread_struct->propertySet = propertySet;
|
||||
strcpy(thread_struct->sid, finger->sid);
|
||||
memset(thread_struct->sid, 0,
|
||||
sizeof(thread_struct->sid));
|
||||
strncpy(thread_struct->sid, finger->sid,
|
||||
sizeof(thread_struct->sid) - 1);
|
||||
thread_struct->eventKey = finger->eventKey++;
|
||||
thread_struct->device_handle = device_handle;
|
||||
/* if overflow, wrap to 1 */
|
||||
@@ -908,6 +916,8 @@ int genaNotifyAll(
|
||||
struct Handle_Info *handle_info;
|
||||
ThreadPoolJob job;
|
||||
|
||||
memset(&job, 0, sizeof(job));
|
||||
|
||||
UpnpPrintf(UPNP_INFO, GENA, __FILE__, __LINE__,
|
||||
"GENA BEGIN NOTIFY ALL");
|
||||
|
||||
@@ -919,23 +929,20 @@ int genaNotifyAll(
|
||||
}
|
||||
*reference_count = 0;
|
||||
|
||||
UDN_copy = (char *)malloc(strlen(UDN) + 1);
|
||||
UDN_copy = strdup(UDN);
|
||||
if (UDN_copy == NULL) {
|
||||
line = __LINE__;
|
||||
ret = UPNP_E_OUTOF_MEMORY;
|
||||
goto ExitFunction;
|
||||
}
|
||||
|
||||
servId_copy = (char *)malloc(strlen(servId) + 1);
|
||||
servId_copy = strdup(servId);
|
||||
if( servId_copy == NULL ) {
|
||||
line = __LINE__;
|
||||
ret = UPNP_E_OUTOF_MEMORY;
|
||||
goto ExitFunction;
|
||||
}
|
||||
|
||||
strcpy(UDN_copy, UDN);
|
||||
strcpy(servId_copy, servId);
|
||||
|
||||
ret = GeneratePropertySet(VarNames, VarValues, var_count, &propertySet);
|
||||
if (ret != XML_SUCCESS) {
|
||||
line = __LINE__;
|
||||
@@ -975,7 +982,10 @@ int genaNotifyAll(
|
||||
thread_struct->servId = servId_copy;
|
||||
thread_struct->headers = headers;
|
||||
thread_struct->propertySet = propertySet;
|
||||
strcpy(thread_struct->sid, finger->sid);
|
||||
memset(thread_struct->sid, 0,
|
||||
sizeof(thread_struct->sid));
|
||||
strncpy(thread_struct->sid, finger->sid,
|
||||
sizeof(thread_struct->sid) - 1);
|
||||
thread_struct->eventKey = finger->eventKey++;
|
||||
thread_struct->device_handle = device_handle;
|
||||
/* if overflow, wrap to 1 */
|
||||
@@ -1045,14 +1055,22 @@ static int respond_ok(
|
||||
int return_code;
|
||||
char timeout_str[100];
|
||||
int upnp_timeout = UPNP_TIMEOUT;
|
||||
int rc = 0;
|
||||
|
||||
http_CalcResponseVersion( request->major_version,
|
||||
request->minor_version, &major, &minor );
|
||||
|
||||
if( time_out >= 0 ) {
|
||||
sprintf( timeout_str, "TIMEOUT: Second-%d", time_out );
|
||||
rc = snprintf( timeout_str, sizeof ( timeout_str ),
|
||||
"TIMEOUT: Second-%d", time_out );
|
||||
} else {
|
||||
strcpy( timeout_str, "TIMEOUT: Second-infinite" );
|
||||
memset( timeout_str, 0, sizeof( timeout_str ) );
|
||||
strncpy( timeout_str, "TIMEOUT: Second-infinite",
|
||||
sizeof ( timeout_str ) - 1);
|
||||
}
|
||||
if (rc < 0 || (unsigned int) rc >= sizeof ( timeout_str ) ) {
|
||||
error_respond( info, HTTP_INTERNAL_SERVER_ERROR, request );
|
||||
return UPNP_E_OUTOF_MEMORY;
|
||||
}
|
||||
|
||||
membuffer_init( &response );
|
||||
@@ -1184,6 +1202,9 @@ void gena_process_subscription_request(
|
||||
char *event_url_path = NULL;
|
||||
memptr callback_hdr;
|
||||
memptr timeout_hdr;
|
||||
int rc = 0;
|
||||
|
||||
memset(&request_struct, 0, sizeof(request_struct));
|
||||
|
||||
UpnpPrintf(UPNP_INFO, GENA, __FILE__, __LINE__,
|
||||
"Subscription Request Received:\n");
|
||||
@@ -1314,10 +1335,12 @@ void gena_process_subscription_request(
|
||||
/* generate SID */
|
||||
uuid_create(&uid);
|
||||
uuid_unpack(&uid, temp_sid);
|
||||
sprintf(sub->sid, "uuid:%s", temp_sid);
|
||||
rc = snprintf(sub->sid, sizeof(sub->sid), "uuid:%s", temp_sid);
|
||||
|
||||
/* respond OK */
|
||||
if (respond_ok(info, time_out, sub, request) != UPNP_E_SUCCESS) {
|
||||
if (rc < 0 || (unsigned int) rc >= sizeof(sub->sid) ||
|
||||
(respond_ok(info, time_out,
|
||||
sub, request) != UPNP_E_SUCCESS)) {
|
||||
freeSubscriptionList(sub);
|
||||
HandleUnlock();
|
||||
goto exit_function;
|
||||
@@ -1330,7 +1353,8 @@ void gena_process_subscription_request(
|
||||
/* finally generate callback for init table dump */
|
||||
request_struct.ServiceId = service->serviceId;
|
||||
request_struct.UDN = service->UDN;
|
||||
strcpy((char *)request_struct.Sid, sub->sid);
|
||||
strncpy((char *)request_struct.Sid, sub->sid,
|
||||
sizeof(request_struct.Sid) - 1);
|
||||
|
||||
/* copy callback */
|
||||
callback_fun = handle_info->Callback;
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
*
|
||||
* Copyright (c) 2000-2003 Intel Corporation
|
||||
* All rights reserved.
|
||||
* Copyright (c) 2012 France Telecom All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
@@ -44,7 +45,7 @@
|
||||
|
||||
|
||||
#ifdef INCLUDE_CLIENT_APIS
|
||||
|
||||
#if EXCLUDE_GENA == 0
|
||||
|
||||
#include <stdlib.h> /* for calloc(), free() */
|
||||
|
||||
@@ -324,6 +325,6 @@ ClientSubscription *GetClientSubActualSID(ClientSubscription *head, token *sid)
|
||||
return next;
|
||||
}
|
||||
|
||||
|
||||
#endif /* INCLUDE_CLIENT_APIS */
|
||||
#endif /* EXCLUDE_GENA */
|
||||
#endif /* INCLUDE_CLIENT_APIS */
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
*
|
||||
* Copyright (c) 2000-2003 Intel Corporation
|
||||
* All rights reserved.
|
||||
* Copyright (C) 2012 France Telecom All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
@@ -31,6 +32,8 @@
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#if EXCLUDE_MINISERVER == 0
|
||||
|
||||
/*!
|
||||
* \file
|
||||
*
|
||||
@@ -88,10 +91,11 @@ uint16_t miniStopSockPort;
|
||||
/*!
|
||||
* module vars
|
||||
*/
|
||||
static MiniServerState gMServState = MSERV_IDLE;
|
||||
#ifdef INTERNAL_WEB_SERVER
|
||||
static MiniServerCallback gGetCallback = NULL;
|
||||
static MiniServerCallback gSoapCallback = NULL;
|
||||
static MiniServerCallback gGenaCallback = NULL;
|
||||
static MiniServerState gMServState = MSERV_IDLE;
|
||||
|
||||
void SetHTTPGetCallback(MiniServerCallback callback)
|
||||
{
|
||||
@@ -110,7 +114,6 @@ void SetGenaCallback(MiniServerCallback callback)
|
||||
gGenaCallback = callback;
|
||||
}
|
||||
|
||||
#ifdef INTERNAL_WEB_SERVER
|
||||
/*!
|
||||
* \brief Based on the type pf message, appropriate callback is issued.
|
||||
*
|
||||
@@ -259,6 +262,8 @@ static UPNP_INLINE void schedule_request_job(
|
||||
struct mserv_request_t *request;
|
||||
ThreadPoolJob job;
|
||||
|
||||
memset(&job, 0, sizeof(job));
|
||||
|
||||
request = (struct mserv_request_t *)malloc(
|
||||
sizeof (struct mserv_request_t));
|
||||
if (request == NULL) {
|
||||
@@ -329,13 +334,13 @@ static int receive_from_stopSock(SOCKET ssock, fd_set *set)
|
||||
socklen_t clientLen;
|
||||
struct sockaddr_storage clientAddr;
|
||||
char requestBuf[256];
|
||||
char buf_ntop[64];
|
||||
char buf_ntop[INET6_ADDRSTRLEN];
|
||||
|
||||
if (FD_ISSET(ssock, set)) {
|
||||
clientLen = sizeof(clientAddr);
|
||||
memset((char *)&clientAddr, 0, sizeof(clientAddr));
|
||||
byteReceived = recvfrom(ssock, requestBuf,
|
||||
25, 0, (struct sockaddr *)&clientAddr, &clientLen);
|
||||
(size_t)25, 0, (struct sockaddr *)&clientAddr, &clientLen);
|
||||
if (byteReceived > 0) {
|
||||
requestBuf[byteReceived] = '\0';
|
||||
inet_ntop(AF_INET,
|
||||
@@ -372,7 +377,7 @@ static void RunMiniServer(
|
||||
fd_set rdSet;
|
||||
SOCKET maxMiniSock;
|
||||
int ret = 0;
|
||||
SOCKET stopSock = 0;
|
||||
int stopSock = 0;
|
||||
|
||||
maxMiniSock = 0;
|
||||
maxMiniSock = max(maxMiniSock, miniSock->miniServerSock4);
|
||||
@@ -381,8 +386,10 @@ static void RunMiniServer(
|
||||
maxMiniSock = max(maxMiniSock, miniSock->ssdpSock4);
|
||||
maxMiniSock = max(maxMiniSock, miniSock->ssdpSock6);
|
||||
maxMiniSock = max(maxMiniSock, miniSock->ssdpSock6UlaGua);
|
||||
#ifdef INCLUDE_CLIENT_APIS
|
||||
maxMiniSock = max(maxMiniSock, miniSock->ssdpReqSock4);
|
||||
maxMiniSock = max(maxMiniSock, miniSock->ssdpReqSock6);
|
||||
#endif /* INCLUDE_CLIENT_APIS */
|
||||
++maxMiniSock;
|
||||
|
||||
gMServState = MSERV_RUNNING;
|
||||
@@ -397,8 +404,10 @@ static void RunMiniServer(
|
||||
fdset_if_valid(miniSock->ssdpSock4, &rdSet);
|
||||
fdset_if_valid(miniSock->ssdpSock6, &rdSet);
|
||||
fdset_if_valid(miniSock->ssdpSock6UlaGua, &rdSet);
|
||||
#ifdef INCLUDE_CLIENT_APIS
|
||||
fdset_if_valid(miniSock->ssdpReqSock4, &rdSet);
|
||||
fdset_if_valid(miniSock->ssdpReqSock6, &rdSet);
|
||||
#endif /* INCLUDE_CLIENT_APIS */
|
||||
/* select() */
|
||||
ret = select((int) maxMiniSock, &rdSet, NULL, &expSet, NULL);
|
||||
if (ret == SOCKET_ERROR && errno == EINTR) {
|
||||
@@ -430,8 +439,10 @@ static void RunMiniServer(
|
||||
sock_close(miniSock->ssdpSock4);
|
||||
sock_close(miniSock->ssdpSock6);
|
||||
sock_close(miniSock->ssdpSock6UlaGua);
|
||||
#ifdef INCLUDE_CLIENT_APIS
|
||||
sock_close(miniSock->ssdpReqSock4);
|
||||
sock_close(miniSock->ssdpReqSock6);
|
||||
#endif /* INCLUDE_CLIENT_APIS */
|
||||
/* Free minisock. */
|
||||
free(miniSock);
|
||||
gMServState = MSERV_IDLE;
|
||||
@@ -465,7 +476,7 @@ static int get_port(
|
||||
*port = ntohs(((struct sockaddr_in6*)&sockinfo)->sin6_port);
|
||||
}
|
||||
UpnpPrintf(UPNP_INFO, MSERV, __FILE__, __LINE__,
|
||||
"sockfd = %d, .... port = %u\n", sockfd, *port);
|
||||
"sockfd = %d, .... port = %d\n", sockfd, (int)*port);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -491,21 +502,26 @@ static int get_miniserver_sockets(
|
||||
MiniServerSockArray *out,
|
||||
/*! [in] port on which the server is listening for incoming IPv4
|
||||
* connections. */
|
||||
uint16_t listen_port4,
|
||||
uint16_t listen_port4
|
||||
#ifdef UPNP_ENABLE_IPV6
|
||||
,
|
||||
/*! [in] port on which the server is listening for incoming IPv6
|
||||
* connections. */
|
||||
uint16_t listen_port6)
|
||||
uint16_t listen_port6
|
||||
#endif
|
||||
)
|
||||
{
|
||||
char errorBuffer[ERROR_BUFFER_LEN];
|
||||
struct sockaddr_storage __ss_v4;
|
||||
struct sockaddr_in* serverAddr4 = (struct sockaddr_in*)&__ss_v4;
|
||||
SOCKET listenfd4;
|
||||
uint16_t actual_port4;
|
||||
uint16_t actual_port4 = 0u;
|
||||
#ifdef UPNP_ENABLE_IPV6
|
||||
struct sockaddr_storage __ss_v6;
|
||||
struct sockaddr_in6* serverAddr6 = (struct sockaddr_in6*)&__ss_v6;
|
||||
SOCKET listenfd6;
|
||||
uint16_t actual_port6;
|
||||
uint16_t actual_port6 = 0u;
|
||||
int onOff;
|
||||
#endif
|
||||
int ret_code;
|
||||
int reuseaddr_on = 0;
|
||||
@@ -521,25 +537,34 @@ static int get_miniserver_sockets(
|
||||
#ifdef UPNP_ENABLE_IPV6
|
||||
listenfd6 = socket(AF_INET6, SOCK_STREAM, 0);
|
||||
if (listenfd6 == INVALID_SOCKET) {
|
||||
sock_close(listenfd4);
|
||||
return UPNP_E_OUTOF_SOCKET;
|
||||
}
|
||||
onOff = 1;
|
||||
sockError = setsockopt(listenfd6, IPPROTO_IPV6, IPV6_V6ONLY,
|
||||
(char *)&onOff, sizeof(onOff));
|
||||
if (sockError == SOCKET_ERROR) {
|
||||
sock_close(listenfd4);
|
||||
sock_close(listenfd6);
|
||||
return UPNP_E_SOCKET_BIND;
|
||||
}
|
||||
#endif
|
||||
/* As per the IANA specifications for the use of ports by applications
|
||||
* override the listen port passed in with the first available. */
|
||||
if (listen_port4 < APPLICATION_LISTENING_PORT) {
|
||||
listen_port4 = APPLICATION_LISTENING_PORT;
|
||||
listen_port4 = (uint16_t)APPLICATION_LISTENING_PORT;
|
||||
}
|
||||
#ifdef UPNP_ENABLE_IPV6
|
||||
if (listen_port6 < APPLICATION_LISTENING_PORT) {
|
||||
listen_port6 = APPLICATION_LISTENING_PORT;
|
||||
listen_port6 = (uint16_t)APPLICATION_LISTENING_PORT;
|
||||
}
|
||||
#endif
|
||||
memset(&__ss_v4, 0, sizeof (__ss_v4));
|
||||
serverAddr4->sin_family = AF_INET;
|
||||
serverAddr4->sin_family = (sa_family_t)AF_INET;
|
||||
serverAddr4->sin_addr.s_addr = htonl(INADDR_ANY);
|
||||
#ifdef UPNP_ENABLE_IPV6
|
||||
memset(&__ss_v6, 0, sizeof (__ss_v6));
|
||||
serverAddr6->sin6_family = AF_INET6;
|
||||
serverAddr6->sin6_family = (sa_family_t)AF_INET6;
|
||||
serverAddr6->sin6_addr = in6addr_any;
|
||||
#endif
|
||||
/* Getting away with implementation of re-using address:port and
|
||||
@@ -772,7 +797,7 @@ static int get_miniserver_stopsock(
|
||||
}
|
||||
/* Bind to local socket. */
|
||||
memset(&stop_sockaddr, 0, sizeof (stop_sockaddr));
|
||||
stop_sockaddr.sin_family = AF_INET;
|
||||
stop_sockaddr.sin_family = (sa_family_t)AF_INET;
|
||||
stop_sockaddr.sin_addr.s_addr = inet_addr("127.0.0.1");
|
||||
ret = bind(miniServerStopSock, (struct sockaddr *)&stop_sockaddr,
|
||||
sizeof(stop_sockaddr));
|
||||
@@ -802,11 +827,13 @@ static UPNP_INLINE void InitMiniServerSockArray(MiniServerSockArray *miniSocket)
|
||||
miniSocket->ssdpSock4 = INVALID_SOCKET;
|
||||
miniSocket->ssdpSock6 = INVALID_SOCKET;
|
||||
miniSocket->ssdpSock6UlaGua = INVALID_SOCKET;
|
||||
miniSocket->stopPort = 0;
|
||||
miniSocket->miniServerPort4 = 0;
|
||||
miniSocket->miniServerPort6 = 0;
|
||||
miniSocket->stopPort = 0u;
|
||||
miniSocket->miniServerPort4 = 0u;
|
||||
miniSocket->miniServerPort6 = 0u;
|
||||
#ifdef INCLUDE_CLIENT_APIS
|
||||
miniSocket->ssdpReqSock4 = INVALID_SOCKET;
|
||||
miniSocket->ssdpReqSock6 = INVALID_SOCKET;
|
||||
#endif /* INCLUDE_CLIENT_APIS */
|
||||
}
|
||||
|
||||
int StartMiniServer(
|
||||
@@ -823,7 +850,12 @@ int StartMiniServer(
|
||||
MiniServerSockArray *miniSocket;
|
||||
ThreadPoolJob job;
|
||||
|
||||
if (gMServState != MSERV_IDLE) {
|
||||
memset(&job, 0, sizeof(job));
|
||||
|
||||
switch (gMServState) {
|
||||
case MSERV_IDLE:
|
||||
break;
|
||||
default:
|
||||
/* miniserver running. */
|
||||
return UPNP_E_INTERNAL_ERROR;
|
||||
}
|
||||
@@ -836,7 +868,11 @@ int StartMiniServer(
|
||||
#ifdef INTERNAL_WEB_SERVER
|
||||
/* V4 and V6 http listeners. */
|
||||
ret_code = get_miniserver_sockets(
|
||||
miniSocket, *listen_port4, *listen_port6);
|
||||
miniSocket, *listen_port4
|
||||
#ifdef UPNP_ENABLE_IPV6
|
||||
, *listen_port6
|
||||
#endif
|
||||
);
|
||||
if (ret_code != UPNP_E_SUCCESS) {
|
||||
free(miniSocket);
|
||||
return ret_code;
|
||||
@@ -870,15 +906,18 @@ int StartMiniServer(
|
||||
sock_close(miniSocket->ssdpSock4);
|
||||
sock_close(miniSocket->ssdpSock6);
|
||||
sock_close(miniSocket->ssdpSock6UlaGua);
|
||||
#ifdef INCLUDE_CLIENT_APIS
|
||||
sock_close(miniSocket->ssdpReqSock4);
|
||||
sock_close(miniSocket->ssdpReqSock6);
|
||||
#endif /* INCLUDE_CLIENT_APIS */
|
||||
free(miniSocket);
|
||||
return UPNP_E_OUTOF_MEMORY;
|
||||
}
|
||||
/* Wait for miniserver to start. */
|
||||
count = 0;
|
||||
while (gMServState != MSERV_RUNNING && count < max_count) {
|
||||
while (gMServState != (MiniServerState)MSERV_RUNNING && count < max_count) {
|
||||
/* 0.05s */
|
||||
usleep(50 * 1000);
|
||||
usleep(50u * 1000u);
|
||||
count++;
|
||||
}
|
||||
if (count >= max_count) {
|
||||
@@ -889,8 +928,10 @@ int StartMiniServer(
|
||||
sock_close(miniSocket->ssdpSock4);
|
||||
sock_close(miniSocket->ssdpSock6);
|
||||
sock_close(miniSocket->ssdpSock6UlaGua);
|
||||
#ifdef INCLUDE_CLIENT_APIS
|
||||
sock_close(miniSocket->ssdpReqSock4);
|
||||
sock_close(miniSocket->ssdpReqSock6);
|
||||
#endif /* INCLUDE_CLIENT_APIS */
|
||||
return UPNP_E_INTERNAL_ERROR;
|
||||
}
|
||||
#ifdef INTERNAL_WEB_SERVER
|
||||
@@ -910,9 +951,11 @@ int StopMiniServer()
|
||||
char buf[256] = "ShutDown";
|
||||
size_t bufLen = strlen(buf);
|
||||
|
||||
if(gMServState == MSERV_RUNNING) {
|
||||
switch(gMServState) {
|
||||
case MSERV_RUNNING:
|
||||
gMServState = MSERV_STOPPING;
|
||||
} else {
|
||||
break;
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
sock = socket(AF_INET, SOCK_DGRAM, 0);
|
||||
@@ -923,19 +966,20 @@ int StopMiniServer()
|
||||
errorBuffer);
|
||||
return 0;
|
||||
}
|
||||
while(gMServState != MSERV_IDLE) {
|
||||
ssdpAddr.sin_family = AF_INET;
|
||||
while(gMServState != (MiniServerState)MSERV_IDLE) {
|
||||
ssdpAddr.sin_family = (sa_family_t)AF_INET;
|
||||
ssdpAddr.sin_addr.s_addr = inet_addr("127.0.0.1");
|
||||
ssdpAddr.sin_port = htons(miniStopSockPort);
|
||||
sendto(sock, buf, bufLen, 0,
|
||||
(struct sockaddr *)&ssdpAddr, socklen);
|
||||
usleep(1000);
|
||||
if (gMServState == MSERV_IDLE) {
|
||||
usleep(1000u);
|
||||
if (gMServState == (MiniServerState)MSERV_IDLE) {
|
||||
break;
|
||||
}
|
||||
isleep(1);
|
||||
isleep(1u);
|
||||
}
|
||||
sock_close(sock);
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif /* EXCLUDE_MINISERVER */
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
*
|
||||
* Copyright (c) 2000-2003 Intel Corporation
|
||||
* All rights reserved.
|
||||
* Copyright (c) 2012 France Telecom All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
@@ -126,7 +127,7 @@ str_int_entry Http_Header_Names[NUM_HTTP_HEADER_NAMES] = {
|
||||
************************************************************************/
|
||||
static UPNP_INLINE void scanner_init(OUT scanner_t *scanner, IN membuffer *bufptr)
|
||||
{
|
||||
scanner->cursor = 0;
|
||||
scanner->cursor = (size_t)0;
|
||||
scanner->msg = bufptr;
|
||||
scanner->entire_msg_loaded = FALSE;
|
||||
}
|
||||
@@ -137,12 +138,12 @@ static UPNP_INLINE void scanner_init(OUT scanner_t *scanner, IN membuffer *bufpt
|
||||
* Parameters :
|
||||
* IN char c ; character to be tested against used separator values
|
||||
*
|
||||
* Description : Finds the separator character.
|
||||
* Description : Determines if the passed value is a separator
|
||||
*
|
||||
************************************************************************/
|
||||
static UPNP_INLINE int is_separator_char(IN char c)
|
||||
static UPNP_INLINE int is_separator_char(IN int c)
|
||||
{
|
||||
return strchr(" \t()<>@,;:\\\"/[]?={}", c) != NULL;
|
||||
return strchr(" \t()<>@,;:\\\"/[]?={}", c) != 0;
|
||||
}
|
||||
|
||||
/************************************************************************
|
||||
@@ -151,10 +152,10 @@ static UPNP_INLINE int is_separator_char(IN char c)
|
||||
* Parameters :
|
||||
* IN char c ; character to be tested for separator values
|
||||
*
|
||||
* Description : Calls the function to indentify separator character
|
||||
* Description : Determines if the passed value is permissible in token
|
||||
*
|
||||
************************************************************************/
|
||||
static UPNP_INLINE int is_identifier_char(IN char c)
|
||||
static UPNP_INLINE int is_identifier_char(IN int c)
|
||||
{
|
||||
return c >= 32 && c <= 126 && !is_separator_char(c);
|
||||
}
|
||||
@@ -168,7 +169,7 @@ static UPNP_INLINE int is_identifier_char(IN char c)
|
||||
* Description : Determines if the passed value is a control character
|
||||
*
|
||||
************************************************************************/
|
||||
static UPNP_INLINE int is_control_char(IN char c)
|
||||
static UPNP_INLINE int is_control_char(IN int c)
|
||||
{
|
||||
return (c >= 0 && c <= 31) || c == 127;
|
||||
}
|
||||
@@ -179,23 +180,20 @@ static UPNP_INLINE int is_control_char(IN char c)
|
||||
* Parameters :
|
||||
* IN char cc ; character to be tested for CR/LF
|
||||
*
|
||||
* Description : Checks to see if the passed in value is CR/LF
|
||||
* Description : Determines if the passed value is permissible in qdtext
|
||||
*
|
||||
************************************************************************/
|
||||
static UPNP_INLINE int is_qdtext_char(IN char cc)
|
||||
static UPNP_INLINE int is_qdtext_char(IN int c)
|
||||
{
|
||||
unsigned char c = ( unsigned char )cc;
|
||||
/* we don't check for this; it's checked in get_token() */
|
||||
assert( c != '"' );
|
||||
|
||||
/* we don't check for this; it's checked in get_token() */
|
||||
assert( c != '"' );
|
||||
|
||||
if( ( c >= 32 && c != 127 ) ||
|
||||
( c == TOKCHAR_CR || c == TOKCHAR_LF || c == '\t' )
|
||||
) {
|
||||
return TRUE;
|
||||
} else {
|
||||
return FALSE;
|
||||
}
|
||||
return
|
||||
(c >= 32 && c != 127) ||
|
||||
c < 0 ||
|
||||
c == TOKCHAR_CR ||
|
||||
c == TOKCHAR_LF ||
|
||||
c == '\t';
|
||||
}
|
||||
|
||||
/************************************************************************
|
||||
@@ -223,7 +221,7 @@ static parse_status_t scanner_get_token(
|
||||
{
|
||||
char *cursor;
|
||||
char *null_terminator; /* point to null-terminator in buffer */
|
||||
char c;
|
||||
int c;
|
||||
token_type_t token_type;
|
||||
int got_end_quote;
|
||||
|
||||
@@ -242,22 +240,22 @@ static parse_status_t scanner_get_token(
|
||||
/* scan identifier */
|
||||
token->buf = cursor++;
|
||||
token_type = TT_IDENTIFIER;
|
||||
while (is_identifier_char(*cursor))
|
||||
while (cursor < null_terminator && is_identifier_char(*cursor))
|
||||
cursor++;
|
||||
if (!scanner->entire_msg_loaded && cursor == null_terminator)
|
||||
/* possibly more valid chars */
|
||||
return PARSE_INCOMPLETE;
|
||||
/* calc token length */
|
||||
token->length = (size_t)(cursor - token->buf);
|
||||
token->length = (size_t)cursor - (size_t)token->buf;
|
||||
} else if (c == ' ' || c == '\t') {
|
||||
token->buf = cursor++;
|
||||
token_type = TT_WHITESPACE;
|
||||
while (*cursor == ' ' || *cursor == '\t')
|
||||
while (cursor < null_terminator && (*cursor == ' ' || *cursor == '\t'))
|
||||
cursor++;
|
||||
if (!scanner->entire_msg_loaded && cursor == null_terminator)
|
||||
/* possibly more chars */
|
||||
return PARSE_INCOMPLETE;
|
||||
token->length = (size_t)(cursor - token->buf);
|
||||
token->length = (size_t)cursor - (size_t)token->buf;
|
||||
} else if (c == TOKCHAR_CR) {
|
||||
/* scan CRLF */
|
||||
token->buf = cursor++;
|
||||
@@ -267,16 +265,16 @@ static parse_status_t scanner_get_token(
|
||||
if (*cursor != TOKCHAR_LF) {
|
||||
/* couldn't match CRLF; match as CR */
|
||||
token_type = TT_CTRL; /* ctrl char */
|
||||
token->length = 1;
|
||||
token->length = (size_t)1;
|
||||
} else {
|
||||
/* got CRLF */
|
||||
token->length = 2;
|
||||
token->length = (size_t)2;
|
||||
token_type = TT_CRLF;
|
||||
cursor++;
|
||||
}
|
||||
} else if (c == TOKCHAR_LF) { /* accept \n as CRLF */
|
||||
token->buf = cursor++;
|
||||
token->length = 1;
|
||||
token->length = (size_t)1;
|
||||
token_type = TT_CRLF;
|
||||
} else if (c == '"') {
|
||||
/* quoted text */
|
||||
@@ -291,9 +289,7 @@ static parse_status_t scanner_get_token(
|
||||
} else if (c == '\\') {
|
||||
if (cursor < null_terminator) {
|
||||
c = *cursor++;
|
||||
/*if ( !(c > 0 && c <= 127) ) */
|
||||
if (c == 0)
|
||||
return PARSE_FAILURE;
|
||||
/* the char after '\\' could be ANY octet */
|
||||
}
|
||||
/* else, while loop handles incomplete buf */
|
||||
} else if (is_qdtext_char(c)) {
|
||||
@@ -303,7 +299,7 @@ static parse_status_t scanner_get_token(
|
||||
return PARSE_FAILURE;
|
||||
}
|
||||
if (got_end_quote)
|
||||
token->length = (size_t)(cursor - token->buf);
|
||||
token->length = (size_t)cursor - (size_t)token->buf;
|
||||
else { /* incomplete */
|
||||
|
||||
assert(cursor == null_terminator);
|
||||
@@ -313,12 +309,12 @@ static parse_status_t scanner_get_token(
|
||||
/* scan separator */
|
||||
token->buf = cursor++;
|
||||
token_type = TT_SEPARATOR;
|
||||
token->length = 1;
|
||||
token->length = (size_t)1;
|
||||
} else if (is_control_char(c)) {
|
||||
/* scan ctrl char */
|
||||
token->buf = cursor++;
|
||||
token_type = TT_CTRL;
|
||||
token->length = 1;
|
||||
token->length = (size_t)1;
|
||||
} else
|
||||
return PARSE_FAILURE;
|
||||
|
||||
@@ -405,7 +401,7 @@ void httpmsg_init(INOUT http_message_t *msg)
|
||||
{
|
||||
msg->initialized = 1;
|
||||
msg->entity.buf = NULL;
|
||||
msg->entity.length = 0;
|
||||
msg->entity.length = ( size_t ) 0;
|
||||
ListInit( &msg->headers, httpmsg_compare, httpheader_free );
|
||||
membuffer_init( &msg->msg );
|
||||
membuffer_init( &msg->status_msg );
|
||||
@@ -519,11 +515,12 @@ http_header_t *httpmsg_find_hdr(
|
||||
*
|
||||
* Description : skips blank lines at the start of a msg.
|
||||
*
|
||||
* Return : int ;
|
||||
*
|
||||
* Note :
|
||||
* Return : parse_status_t ;
|
||||
* PARSE_OK
|
||||
* PARSE_INCOMPLETE -- not enuf chars to get a token
|
||||
* PARSE_FAILURE -- bad msg format
|
||||
************************************************************************/
|
||||
static UPNP_INLINE int skip_blank_lines(INOUT scanner_t *scanner)
|
||||
static UPNP_INLINE parse_status_t skip_blank_lines(INOUT scanner_t *scanner)
|
||||
{
|
||||
memptr token;
|
||||
token_type_t tok_type;
|
||||
@@ -532,9 +529,10 @@ static UPNP_INLINE int skip_blank_lines(INOUT scanner_t *scanner)
|
||||
/* skip ws, crlf */
|
||||
do {
|
||||
status = scanner_get_token(scanner, &token, &tok_type);
|
||||
} while (status == PARSE_OK &&
|
||||
(tok_type == TT_WHITESPACE || tok_type == TT_CRLF));
|
||||
if (status == PARSE_OK) {
|
||||
} while (status == (parse_status_t)PARSE_OK &&
|
||||
(tok_type == (token_type_t)TT_WHITESPACE ||
|
||||
tok_type == (token_type_t)TT_CRLF));
|
||||
if (status == (parse_status_t)PARSE_OK) {
|
||||
/* pushback a non-whitespace token */
|
||||
scanner->cursor -= token.length;
|
||||
}
|
||||
@@ -557,7 +555,7 @@ static UPNP_INLINE int skip_blank_lines(INOUT scanner_t *scanner)
|
||||
*
|
||||
* Note :
|
||||
************************************************************************/
|
||||
static UPNP_INLINE int skip_lws(INOUT scanner_t *scanner)
|
||||
static UPNP_INLINE parse_status_t skip_lws(INOUT scanner_t *scanner)
|
||||
{
|
||||
memptr token;
|
||||
token_type_t tok_type;
|
||||
@@ -571,13 +569,14 @@ static UPNP_INLINE int skip_lws(INOUT scanner_t *scanner)
|
||||
|
||||
/* get CRLF or WS */
|
||||
status = scanner_get_token( scanner, &token, &tok_type );
|
||||
if( status == PARSE_OK ) {
|
||||
if( tok_type == TT_CRLF ) {
|
||||
if( status == ( parse_status_t ) PARSE_OK ) {
|
||||
if( tok_type == ( token_type_t ) TT_CRLF ) {
|
||||
/* get WS */
|
||||
status = scanner_get_token( scanner, &token, &tok_type );
|
||||
}
|
||||
|
||||
if( status == PARSE_OK && tok_type == TT_WHITESPACE ) {
|
||||
if( status == ( parse_status_t ) PARSE_OK &&
|
||||
tok_type == ( token_type_t ) TT_WHITESPACE ) {
|
||||
matched = TRUE;
|
||||
} else {
|
||||
/* did not match LWS; pushback token(s) */
|
||||
@@ -587,7 +586,8 @@ static UPNP_INLINE int skip_lws(INOUT scanner_t *scanner)
|
||||
} while( matched );
|
||||
|
||||
/* if entire msg is loaded, ignore an 'incomplete' warning */
|
||||
if( status == PARSE_INCOMPLETE && scanner->entire_msg_loaded ) {
|
||||
if( status == ( parse_status_t ) PARSE_INCOMPLETE &&
|
||||
scanner->entire_msg_loaded ) {
|
||||
status = PARSE_OK;
|
||||
}
|
||||
|
||||
@@ -623,13 +623,14 @@ static UPNP_INLINE parse_status_t match_non_ws_string(
|
||||
|
||||
save_cursor = scanner->cursor;
|
||||
|
||||
str->length = 0;
|
||||
str->length = ( size_t ) 0;
|
||||
str->buf = scanner_get_str( scanner ); /* point to next char in input */
|
||||
|
||||
while( !done ) {
|
||||
status = scanner_get_token( scanner, &token, &tok_type );
|
||||
if( status == PARSE_OK &&
|
||||
tok_type != TT_WHITESPACE && tok_type != TT_CRLF ) {
|
||||
if( status == ( parse_status_t ) PARSE_OK &&
|
||||
tok_type != ( token_type_t ) TT_WHITESPACE &&
|
||||
tok_type != ( token_type_t ) TT_CRLF ) {
|
||||
/* append non-ws token */
|
||||
str->length += token.length;
|
||||
} else {
|
||||
@@ -637,15 +638,16 @@ static UPNP_INLINE parse_status_t match_non_ws_string(
|
||||
}
|
||||
}
|
||||
|
||||
if( status == PARSE_OK ) {
|
||||
if( status == ( parse_status_t ) PARSE_OK ) {
|
||||
/* last token was WS; push it back in */
|
||||
scanner->cursor -= token.length;
|
||||
}
|
||||
/* tolerate 'incomplete' msg */
|
||||
if( status == PARSE_OK ||
|
||||
( status == PARSE_INCOMPLETE && scanner->entire_msg_loaded )
|
||||
if( status == ( parse_status_t ) PARSE_OK ||
|
||||
( status == ( parse_status_t ) PARSE_INCOMPLETE &&
|
||||
scanner->entire_msg_loaded )
|
||||
) {
|
||||
if( str->length == 0 ) {
|
||||
if( str->length == ( size_t ) 0 ) {
|
||||
/* no strings found */
|
||||
return PARSE_NO_MATCH;
|
||||
} else {
|
||||
@@ -686,7 +688,7 @@ static UPNP_INLINE parse_status_t match_raw_value(
|
||||
parse_status_t status;
|
||||
int done = FALSE;
|
||||
int saw_crlf = FALSE;
|
||||
size_t pos_at_crlf = 0;
|
||||
size_t pos_at_crlf = ( size_t ) 0;
|
||||
size_t save_pos;
|
||||
char c;
|
||||
|
||||
@@ -694,13 +696,13 @@ static UPNP_INLINE parse_status_t match_raw_value(
|
||||
|
||||
/* value points to start of input */
|
||||
raw_value->buf = scanner_get_str( scanner );
|
||||
raw_value->length = 0;
|
||||
raw_value->length = ( size_t ) 0;
|
||||
|
||||
while( !done ) {
|
||||
status = scanner_get_token( scanner, &token, &tok_type );
|
||||
if( status == PARSE_OK ) {
|
||||
if( status == ( parse_status_t ) PARSE_OK ) {
|
||||
if( !saw_crlf ) {
|
||||
if( tok_type == TT_CRLF ) {
|
||||
if( tok_type == ( token_type_t ) TT_CRLF ) {
|
||||
/* CRLF could end value */
|
||||
saw_crlf = TRUE;
|
||||
|
||||
@@ -711,7 +713,7 @@ static UPNP_INLINE parse_status_t match_raw_value(
|
||||
raw_value->length += token.length;
|
||||
} else /* already seen CRLF */
|
||||
{
|
||||
if( tok_type == TT_WHITESPACE ) {
|
||||
if( tok_type == ( token_type_t ) TT_WHITESPACE ) {
|
||||
/* start again; forget CRLF */
|
||||
saw_crlf = FALSE;
|
||||
raw_value->length += token.length;
|
||||
@@ -730,11 +732,11 @@ static UPNP_INLINE parse_status_t match_raw_value(
|
||||
}
|
||||
}
|
||||
|
||||
if( status == PARSE_OK ) {
|
||||
if( status == ( parse_status_t ) PARSE_OK ) {
|
||||
/* trim whitespace on right side of value */
|
||||
while( raw_value->length > 0 ) {
|
||||
while( raw_value->length > ( size_t ) 0 ) {
|
||||
/* get last char */
|
||||
c = raw_value->buf[raw_value->length - 1];
|
||||
c = raw_value->buf[raw_value->length - ( size_t ) 1];
|
||||
|
||||
if( c != ' ' && c != '\t' &&
|
||||
c != TOKCHAR_CR && c != TOKCHAR_LF ) {
|
||||
@@ -768,7 +770,7 @@ static UPNP_INLINE parse_status_t match_raw_value(
|
||||
* PARSE_FAILURE -- bad input
|
||||
* PARSE_INCOMPLETE
|
||||
************************************************************************/
|
||||
static UPNP_INLINE int match_int(
|
||||
static UPNP_INLINE parse_status_t match_int(
|
||||
INOUT scanner_t *scanner,
|
||||
IN int base,
|
||||
OUT int *value)
|
||||
@@ -782,8 +784,8 @@ static UPNP_INLINE int match_int(
|
||||
|
||||
save_pos = scanner->cursor;
|
||||
status = scanner_get_token(scanner, &token, &tok_type);
|
||||
if (status == PARSE_OK) {
|
||||
if (tok_type == TT_IDENTIFIER) {
|
||||
if (status == (parse_status_t)PARSE_OK) {
|
||||
if (tok_type == (token_type_t)TT_IDENTIFIER) {
|
||||
errno = 0;
|
||||
num = strtol(token.buf, &end_ptr, base);
|
||||
/* all and only those chars in token should be used for num */
|
||||
@@ -798,7 +800,7 @@ static UPNP_INLINE int match_int(
|
||||
status = PARSE_NO_MATCH;
|
||||
}
|
||||
}
|
||||
if (status != PARSE_OK) {
|
||||
if (status != (parse_status_t)PARSE_OK) {
|
||||
/* restore scanner position for bad values */
|
||||
scanner->cursor = save_pos;
|
||||
}
|
||||
@@ -822,7 +824,7 @@ static UPNP_INLINE int match_int(
|
||||
* PARSE_FAILURE
|
||||
* PARSE_INCOMPLETE
|
||||
************************************************************************/
|
||||
static UPNP_INLINE int
|
||||
static UPNP_INLINE parse_status_t
|
||||
read_until_crlf( INOUT scanner_t * scanner,
|
||||
OUT memptr * str )
|
||||
{
|
||||
@@ -837,9 +839,10 @@ read_until_crlf( INOUT scanner_t * scanner,
|
||||
/* read until we hit a crlf */
|
||||
do {
|
||||
status = scanner_get_token( scanner, &token, &tok_type );
|
||||
} while( status == PARSE_OK && tok_type != TT_CRLF );
|
||||
} while( status == ( parse_status_t ) PARSE_OK &&
|
||||
tok_type != ( token_type_t ) TT_CRLF );
|
||||
|
||||
if( status == PARSE_OK ) {
|
||||
if( status == ( parse_status_t ) PARSE_OK ) {
|
||||
/* pushback crlf in stream */
|
||||
scanner->cursor -= token.length;
|
||||
|
||||
@@ -944,7 +947,7 @@ match_char( INOUT scanner_t * scanner,
|
||||
*
|
||||
* Note :
|
||||
************************************************************************/
|
||||
static int vfmatch(
|
||||
static parse_status_t vfmatch(
|
||||
INOUT scanner_t *scanner,
|
||||
IN const char *fmt,
|
||||
va_list argp)
|
||||
@@ -970,8 +973,8 @@ static int vfmatch(
|
||||
save_pos = scanner->cursor;
|
||||
|
||||
status = PARSE_OK;
|
||||
while( ( ( c = *fmt_ptr++ ) != 0 ) && ( status == PARSE_OK )
|
||||
) {
|
||||
while( ( c = *fmt_ptr++ ) &&
|
||||
( status == ( parse_status_t ) PARSE_OK ) ) {
|
||||
if( c == '%' ) {
|
||||
c = *fmt_ptr++;
|
||||
switch ( c ) {
|
||||
@@ -985,7 +988,8 @@ static int vfmatch(
|
||||
assert( str_ptr != NULL );
|
||||
status = scanner_get_token( scanner, str_ptr,
|
||||
&tok_type );
|
||||
if( status == PARSE_OK && tok_type != TT_IDENTIFIER ) {
|
||||
if( status == ( parse_status_t ) PARSE_OK &&
|
||||
tok_type != ( token_type_t ) TT_IDENTIFIER ) {
|
||||
/* not an identifier */
|
||||
status = PARSE_NO_MATCH;
|
||||
}
|
||||
@@ -993,7 +997,8 @@ static int vfmatch(
|
||||
case 'c': /* crlf */
|
||||
status = scanner_get_token( scanner,
|
||||
&token, &tok_type );
|
||||
if( status == PARSE_OK && tok_type != TT_CRLF ) {
|
||||
if( status == ( parse_status_t ) PARSE_OK &&
|
||||
tok_type != ( token_type_t ) TT_CRLF ) {
|
||||
/* not CRLF token */
|
||||
status = PARSE_NO_MATCH;
|
||||
}
|
||||
@@ -1014,7 +1019,7 @@ static int vfmatch(
|
||||
}
|
||||
assert( str_ptr != NULL );
|
||||
status = match_non_ws_string( scanner, str_ptr );
|
||||
if( c == 'U' && status == PARSE_OK ) {
|
||||
if( c == 'U' && status == ( parse_status_t ) PARSE_OK ) {
|
||||
uri_ptr = va_arg( argp, uri_type * );
|
||||
assert( uri_ptr != NULL );
|
||||
stat = parse_uri( str_ptr->buf, str_ptr->length,
|
||||
@@ -1043,7 +1048,8 @@ static int vfmatch(
|
||||
str_ptr = ( memptr * ) va_arg( argp, memptr * );
|
||||
status =
|
||||
scanner_get_token( scanner, str_ptr, &tok_type );
|
||||
if( status == PARSE_OK && tok_type != TT_QUOTEDSTRING ) {
|
||||
if( status == ( parse_status_t ) PARSE_OK &&
|
||||
tok_type != ( token_type_t ) TT_QUOTEDSTRING ) {
|
||||
status = PARSE_NO_MATCH; /* not a quoted string */
|
||||
}
|
||||
break;
|
||||
@@ -1051,7 +1057,8 @@ static int vfmatch(
|
||||
/* optional whitespace */
|
||||
status = scanner_get_token( scanner,
|
||||
&token, &tok_type );
|
||||
if( status == PARSE_OK && tok_type != TT_WHITESPACE ) {
|
||||
if( status == ( parse_status_t ) PARSE_OK &&
|
||||
tok_type != ( token_type_t ) TT_WHITESPACE ) {
|
||||
/* restore non-whitespace token */
|
||||
scanner->cursor -= token.length;
|
||||
}
|
||||
@@ -1085,7 +1092,8 @@ static int vfmatch(
|
||||
case '\t': /* Whitespace */
|
||||
status = scanner_get_token( scanner,
|
||||
&token, &tok_type );
|
||||
if( status == PARSE_OK && tok_type != TT_WHITESPACE ) {
|
||||
if( status == ( parse_status_t ) PARSE_OK &&
|
||||
tok_type != (token_type_t) TT_WHITESPACE ) {
|
||||
/* not whitespace token */
|
||||
status = PARSE_NO_MATCH;
|
||||
}
|
||||
@@ -1097,7 +1105,7 @@ static int vfmatch(
|
||||
}
|
||||
}
|
||||
}
|
||||
if( status != PARSE_OK ) {
|
||||
if( status != ( parse_status_t ) PARSE_OK ) {
|
||||
/* on error, restore original scanner pos */
|
||||
scanner->cursor = save_pos;
|
||||
}
|
||||
@@ -1120,13 +1128,14 @@ static int vfmatch(
|
||||
* PARSE_OK
|
||||
* PARSE_NO_MATCH
|
||||
* PARSE_INCOMPLETE
|
||||
* PARSE_FAILURE - bad input
|
||||
************************************************************************/
|
||||
static int match(
|
||||
static parse_status_t match(
|
||||
INOUT scanner_t *scanner,
|
||||
IN const char *fmt,
|
||||
...)
|
||||
{
|
||||
int ret_code;
|
||||
parse_status_t ret_code;
|
||||
va_list args;
|
||||
|
||||
va_start(args, fmt);
|
||||
@@ -1152,14 +1161,15 @@ static int match(
|
||||
* PARSE_OK
|
||||
* PARSE_NO_MATCH -- failure to match pattern 'fmt'
|
||||
* PARSE_FAILURE -- 'str' is bad input
|
||||
* PARSE_INCOMPLETE
|
||||
************************************************************************/
|
||||
int
|
||||
parse_status_t
|
||||
matchstr( IN char *str,
|
||||
IN size_t slen,
|
||||
IN const char *fmt,
|
||||
... )
|
||||
{
|
||||
int ret_code;
|
||||
parse_status_t ret_code;
|
||||
char save_char;
|
||||
scanner_t scanner;
|
||||
membuffer buf;
|
||||
@@ -1226,6 +1236,8 @@ parser_init( OUT http_parser_t * parser )
|
||||
* PARSE_OK
|
||||
* PARSE_SUCCESS
|
||||
* PARSE_FAILURE
|
||||
* PARSE_INCOMPLETE
|
||||
* PARSE_NO_MATCH
|
||||
************************************************************************/
|
||||
static parse_status_t
|
||||
parser_parse_requestline( INOUT http_parser_t * parser )
|
||||
@@ -1242,7 +1254,7 @@ parser_parse_requestline( INOUT http_parser_t * parser )
|
||||
assert( parser->position == POS_REQUEST_LINE );
|
||||
|
||||
status = skip_blank_lines( &parser->scanner );
|
||||
if( status != PARSE_OK ) {
|
||||
if( status != ( parse_status_t ) PARSE_OK ) {
|
||||
return status;
|
||||
}
|
||||
/*simple get http 0.9 as described in http 1.0 spec */
|
||||
@@ -1250,7 +1262,7 @@ parser_parse_requestline( INOUT http_parser_t * parser )
|
||||
status =
|
||||
match( &parser->scanner, "%s\t%S%w%c", &method_str, &url_str );
|
||||
|
||||
if( status == PARSE_OK ) {
|
||||
if( status == ( parse_status_t ) PARSE_OK ) {
|
||||
|
||||
index =
|
||||
map_str_to_int( method_str.buf, method_str.length,
|
||||
@@ -1289,7 +1301,7 @@ parser_parse_requestline( INOUT http_parser_t * parser )
|
||||
status = match( &parser->scanner,
|
||||
"%s\t%S\t%ihttp%w/%w%L%c", &method_str, &url_str,
|
||||
&version_str );
|
||||
if( status != PARSE_OK ) {
|
||||
if( status != ( parse_status_t ) PARSE_OK ) {
|
||||
return status;
|
||||
}
|
||||
/* store url */
|
||||
@@ -1303,17 +1315,6 @@ parser_parse_requestline( INOUT http_parser_t * parser )
|
||||
HTTP_SUCCESS ) {
|
||||
return PARSE_FAILURE;
|
||||
}
|
||||
/* scan version */
|
||||
save_char = version_str.buf[version_str.length];
|
||||
version_str.buf[version_str.length] = '\0'; /* null-terminate */
|
||||
num_scanned = sscanf( version_str.buf, "%d . %d",
|
||||
&hmsg->major_version, &hmsg->minor_version );
|
||||
version_str.buf[version_str.length] = save_char; /* restore */
|
||||
if( num_scanned != 2 ||
|
||||
hmsg->major_version < 0 || hmsg->minor_version < 0 ) {
|
||||
/* error; bad http version */
|
||||
return PARSE_FAILURE;
|
||||
}
|
||||
|
||||
index =
|
||||
map_str_to_int( method_str.buf, method_str.length,
|
||||
@@ -1324,7 +1325,24 @@ parser_parse_requestline( INOUT http_parser_t * parser )
|
||||
return PARSE_FAILURE;
|
||||
}
|
||||
|
||||
hmsg->method = Http_Method_Table[index].id;
|
||||
/* scan version */
|
||||
save_char = version_str.buf[version_str.length];
|
||||
version_str.buf[version_str.length] = '\0'; /* null-terminate */
|
||||
num_scanned = sscanf( version_str.buf, "%d . %d",
|
||||
&hmsg->major_version, &hmsg->minor_version );
|
||||
version_str.buf[version_str.length] = save_char; /* restore */
|
||||
if (num_scanned != 2 ||
|
||||
/* HTTP version equals to 1.0 should fail for MSEARCH as required by the
|
||||
* UPnP certification tool */
|
||||
hmsg->major_version < 0 ||
|
||||
( hmsg->major_version == 1 && hmsg->minor_version < 1 &&
|
||||
Http_Method_Table[index].id == HTTPMETHOD_MSEARCH )) {
|
||||
parser->http_error_code = HTTP_HTTP_VERSION_NOT_SUPPORTED;
|
||||
/* error; bad http version */
|
||||
return PARSE_FAILURE;
|
||||
}
|
||||
|
||||
hmsg->method = ( http_method_t ) Http_Method_Table[index].id;
|
||||
parser->position = POS_HEADERS; /* move to headers */
|
||||
|
||||
return PARSE_OK;
|
||||
@@ -1336,12 +1354,13 @@ parser_parse_requestline( INOUT http_parser_t * parser )
|
||||
* Parameters:
|
||||
* INOUT http_parser_t* parser ; HTTP Parser object
|
||||
*
|
||||
* Description: Get HTTP Method, URL location and version information.
|
||||
* Description: Get HTTP version information, status code and status msg.
|
||||
*
|
||||
* Returns:
|
||||
* PARSE_OK
|
||||
* PARSE_SUCCESS
|
||||
* PARSE_FAILURE
|
||||
* PARSE_INCOMPLETE
|
||||
* PARSE_NO_MATCH
|
||||
************************************************************************/
|
||||
parse_status_t parser_parse_responseline(INOUT http_parser_t *parser)
|
||||
{
|
||||
@@ -1357,14 +1376,14 @@ parse_status_t parser_parse_responseline(INOUT http_parser_t *parser)
|
||||
assert(parser->position == POS_RESPONSE_LINE);
|
||||
|
||||
status = skip_blank_lines(&parser->scanner);
|
||||
if (status != PARSE_OK)
|
||||
if (status != ( parse_status_t) PARSE_OK)
|
||||
return status;
|
||||
/* response line */
|
||||
/*status = match( &parser->scanner, "%ihttp%w/%w%d\t.\t%d\t%d\t%L%c", */
|
||||
/* &hmsg->major_version, &hmsg->minor_version, */
|
||||
/* &hmsg->status_code, &hmsg->status_msg ); */
|
||||
status = match(&parser->scanner, "%ihttp%w/%w%L%c", &line);
|
||||
if (status != PARSE_OK)
|
||||
if (status != ( parse_status_t ) PARSE_OK)
|
||||
return status;
|
||||
save_char = line.buf[line.length];
|
||||
line.buf[line.length] = '\0'; /* null-terminate */
|
||||
@@ -1373,10 +1392,9 @@ parse_status_t parser_parse_responseline(INOUT http_parser_t *parser)
|
||||
&hmsg->major_version, &hmsg->minor_version,
|
||||
&hmsg->status_code);
|
||||
line.buf[line.length] = save_char; /* restore */
|
||||
if (num_scanned != 3 || hmsg->major_version < 0 ||
|
||||
/* HTTP version equals to 1.0 should fail as required by the
|
||||
* UPnP certification tool */
|
||||
hmsg->minor_version < 1 || hmsg->status_code < 0)
|
||||
if (num_scanned != 3 ||
|
||||
hmsg->major_version < 0 || hmsg->minor_version < 0 ||
|
||||
hmsg->status_code < 0)
|
||||
/* bad response line */
|
||||
return PARSE_FAILURE;
|
||||
/* point to status msg */
|
||||
@@ -1397,7 +1415,7 @@ parse_status_t parser_parse_responseline(INOUT http_parser_t *parser)
|
||||
while (*p == ' ' || *p == '\t')
|
||||
p++;
|
||||
/* now, p is at start of status msg */
|
||||
n = line.length - (size_t)(p - line.buf);
|
||||
n = line.length - ((size_t)p - (size_t)line.buf);
|
||||
if (membuffer_assign(&hmsg->status_msg, p, n) != 0) {
|
||||
/* out of mem */
|
||||
parser->http_error_code = HTTP_INTERNAL_SERVER_ERROR;
|
||||
@@ -1414,12 +1432,14 @@ parse_status_t parser_parse_responseline(INOUT http_parser_t *parser)
|
||||
* Parameters:
|
||||
* INOUT http_parser_t* parser ; HTTP Parser object
|
||||
*
|
||||
* Description: Get HTTP Method, URL location and version information.
|
||||
* Description: Read HTTP header fields.
|
||||
*
|
||||
* Returns:
|
||||
* PARSE_OK
|
||||
* PARSE_SUCCESS
|
||||
* PARSE_FAILURE
|
||||
* PARSE_INCOMPLETE
|
||||
* PARSE_NO_MATCH
|
||||
************************************************************************/
|
||||
parse_status_t parser_parse_headers(INOUT http_parser_t *parser)
|
||||
{
|
||||
@@ -1437,33 +1457,37 @@ parse_status_t parser_parse_headers(INOUT http_parser_t *parser)
|
||||
char save_char;
|
||||
int ret2;
|
||||
|
||||
assert(parser->position == POS_HEADERS ||
|
||||
assert(parser->position == (parser_pos_t)POS_HEADERS ||
|
||||
parser->ent_position == ENTREAD_CHUNKY_HEADERS);
|
||||
|
||||
while (TRUE) {
|
||||
save_pos = scanner->cursor;
|
||||
/* check end of headers */
|
||||
status = scanner_get_token(scanner, &token, &tok_type);
|
||||
if (status != PARSE_OK) {
|
||||
if (status != (parse_status_t)PARSE_OK) {
|
||||
/* pushback tokens; useful only on INCOMPLETE error */
|
||||
scanner->cursor = save_pos;
|
||||
return status;
|
||||
}
|
||||
if (tok_type == TT_CRLF) {
|
||||
switch (tok_type) {
|
||||
case TT_CRLF:
|
||||
/* end of headers */
|
||||
if ((parser->msg.is_request)
|
||||
&& (parser->msg.method == HTTPMETHOD_POST)) {
|
||||
&& (parser->msg.method == (http_method_t)HTTPMETHOD_POST)) {
|
||||
parser->position = POS_COMPLETE; /*post entity parsing */
|
||||
/*is handled separately */
|
||||
return PARSE_SUCCESS;
|
||||
}
|
||||
parser->position = POS_ENTITY; /* read entity next */
|
||||
return PARSE_OK;
|
||||
}
|
||||
/* not end; read header */
|
||||
if (tok_type != TT_IDENTIFIER) {
|
||||
case TT_IDENTIFIER:
|
||||
/* not end; read header */
|
||||
break;
|
||||
default:
|
||||
return PARSE_FAILURE; /* didn't see header name */
|
||||
}
|
||||
status = match(scanner, " : %R%c", &hdr_value);
|
||||
if (status != PARSE_OK) {
|
||||
if (status != (parse_status_t)PARSE_OK) {
|
||||
/* pushback tokens; useful only on INCOMPLETE error */
|
||||
scanner->cursor = save_pos;
|
||||
return status;
|
||||
@@ -1501,15 +1525,17 @@ parse_status_t parser_parse_headers(INOUT http_parser_t *parser)
|
||||
membuffer_init(&header->name_buf);
|
||||
membuffer_init(&header->value);
|
||||
/* value can be 0 length */
|
||||
if (hdr_value.length == 0) {
|
||||
if (hdr_value.length == (size_t)0) {
|
||||
/* FIXME: Is this a bug? buf is not const. */
|
||||
hdr_value.buf = "\0";
|
||||
hdr_value.length = 1;
|
||||
hdr_value.length = (size_t)1;
|
||||
}
|
||||
/* save in header in buffers */
|
||||
if (membuffer_assign(&header->name_buf, token.buf, token.length) ||
|
||||
membuffer_assign(&header->value, hdr_value.buf, hdr_value.length)) {
|
||||
/* not enough mem */
|
||||
membuffer_destroy(&header->value);
|
||||
membuffer_destroy(&header->name_buf);
|
||||
free(header);
|
||||
parser->http_error_code = HTTP_INTERNAL_SERVER_ERROR;
|
||||
return PARSE_FAILURE;
|
||||
@@ -1517,16 +1543,14 @@ parse_status_t parser_parse_headers(INOUT http_parser_t *parser)
|
||||
header->name.buf = header->name_buf.buf;
|
||||
header->name.length = header->name_buf.length;
|
||||
header->name_id = header_id;
|
||||
ListAddTail(&parser->msg.headers, header);
|
||||
/*NNS: ret = dlist_append( &parser->msg.headers, header ); */
|
||||
/** TODO: remove that? */
|
||||
if (ret == UPNP_E_OUTOF_MEMORY) {
|
||||
parser->http_error_code =
|
||||
HTTP_INTERNAL_SERVER_ERROR;
|
||||
if (!ListAddTail(&parser->msg.headers, header)) {
|
||||
membuffer_destroy(&header->value);
|
||||
membuffer_destroy(&header->name_buf);
|
||||
free(header);
|
||||
parser->http_error_code = HTTP_INTERNAL_SERVER_ERROR;
|
||||
return PARSE_FAILURE;
|
||||
}
|
||||
/** end of remove that? */
|
||||
} else if (hdr_value.length > 0) {
|
||||
} else if (hdr_value.length > (size_t)0) {
|
||||
/* append value to existing header */
|
||||
/* append space */
|
||||
ret = membuffer_append_str(&orig_header->value, ", ");
|
||||
@@ -1556,7 +1580,6 @@ parse_status_t parser_parse_headers(INOUT http_parser_t *parser)
|
||||
*
|
||||
* Returns:
|
||||
* PARSE_INCOMPLETE
|
||||
* PARSE_FAILURE -- entity length > content-length value
|
||||
* PARSE_SUCCESS
|
||||
************************************************************************/
|
||||
static UPNP_INLINE parse_status_t
|
||||
@@ -1603,9 +1626,10 @@ parser_parse_entity_using_clen( INOUT http_parser_t * parser )
|
||||
* Description: Read data in the chunks
|
||||
*
|
||||
* Returns:
|
||||
* PARSE_CONTINUE_1
|
||||
* PARSE_INCOMPLETE
|
||||
* PARSE_FAILURE -- entity length > content-length value
|
||||
* PARSE_SUCCESS
|
||||
* PARSE_FAILURE
|
||||
* PARSE_NO_MATCH
|
||||
************************************************************************/
|
||||
static UPNP_INLINE parse_status_t parser_parse_chunky_body(
|
||||
INOUT http_parser_t *parser)
|
||||
@@ -1614,13 +1638,13 @@ static UPNP_INLINE parse_status_t parser_parse_chunky_body(
|
||||
size_t save_pos;
|
||||
|
||||
/* if 'chunk_size' of bytes have been read; read next chunk */
|
||||
if ((int)(parser->msg.msg.length - parser->scanner.cursor) >= parser->chunk_size) {
|
||||
if ((parser->msg.msg.length - parser->scanner.cursor) >= parser->chunk_size) {
|
||||
/* move to next chunk */
|
||||
parser->scanner.cursor += parser->chunk_size;
|
||||
save_pos = parser->scanner.cursor;
|
||||
/* discard CRLF */
|
||||
status = match(&parser->scanner, "%c");
|
||||
if (status != PARSE_OK) {
|
||||
if (status != (parse_status_t)PARSE_OK) {
|
||||
/*move back */
|
||||
parser->scanner.cursor -= parser->chunk_size;
|
||||
/*parser->scanner.cursor = save_pos; */
|
||||
@@ -1647,8 +1671,9 @@ static UPNP_INLINE parse_status_t parser_parse_chunky_body(
|
||||
* Description: Read headers at the end of the chunked entity
|
||||
*
|
||||
* Returns:
|
||||
* PARSE_NO_MATCH
|
||||
* PARSE_INCOMPLETE
|
||||
* PARSE_FAILURE -- entity length > content-length value
|
||||
* PARSE_FAILURE
|
||||
* PARSE_SUCCESS
|
||||
************************************************************************/
|
||||
static UPNP_INLINE parse_status_t
|
||||
@@ -1659,18 +1684,18 @@ parser_parse_chunky_headers( INOUT http_parser_t * parser )
|
||||
|
||||
save_pos = parser->scanner.cursor;
|
||||
status = parser_parse_headers( parser );
|
||||
if( status == PARSE_OK ) {
|
||||
if( status == ( parse_status_t ) PARSE_OK ) {
|
||||
/* finally, done with the whole msg */
|
||||
parser->position = POS_COMPLETE;
|
||||
|
||||
/* save entity start ptr as the very last thing to do */
|
||||
parser->msg.entity.buf = parser->msg.msg.buf +
|
||||
parser->entity_start_position;
|
||||
|
||||
membuffer_delete( &parser->msg.msg, save_pos,
|
||||
( parser->scanner.cursor - save_pos ) );
|
||||
parser->scanner.cursor = save_pos;
|
||||
|
||||
/* save entity start ptr as the very last thing to do */
|
||||
parser->msg.entity.buf = parser->msg.msg.buf +
|
||||
parser->entity_start_position;
|
||||
|
||||
return PARSE_SUCCESS;
|
||||
} else {
|
||||
return status;
|
||||
@@ -1683,12 +1708,12 @@ parser_parse_chunky_headers( INOUT http_parser_t * parser )
|
||||
* Parameters:
|
||||
* INOUT http_parser_t* parser - HTTP Parser Object
|
||||
*
|
||||
* Description: Read headers at the end of the chunked entity
|
||||
* Description: Read entity using chunked transfer encoding
|
||||
*
|
||||
* Returns:
|
||||
* PARSE_INCOMPLETE
|
||||
* PARSE_FAILURE -- entity length > content-length value
|
||||
* PARSE_SUCCESS
|
||||
* PARSE_FAILURE
|
||||
* PARSE_NO_MATCH
|
||||
* PARSE_CONTINUE_1
|
||||
************************************************************************/
|
||||
static UPNP_INLINE parse_status_t
|
||||
@@ -1705,7 +1730,7 @@ parser_parse_chunky_entity( INOUT http_parser_t * parser )
|
||||
|
||||
/* get size of chunk, discard extension, discard CRLF */
|
||||
status = match( scanner, "%x%L%c", &parser->chunk_size, &dummy );
|
||||
if( status != PARSE_OK ) {
|
||||
if( status != ( parse_status_t ) PARSE_OK ) {
|
||||
scanner->cursor = save_pos;
|
||||
UpnpPrintf( UPNP_INFO, HTTP, __FILE__, __LINE__,
|
||||
"CHUNK COULD NOT BE PARSED\n" );
|
||||
@@ -1716,7 +1741,7 @@ parser_parse_chunky_entity( INOUT http_parser_t * parser )
|
||||
( scanner->cursor - save_pos ) );
|
||||
scanner->cursor = save_pos; /* adjust scanner too */
|
||||
|
||||
if( parser->chunk_size == 0 ) {
|
||||
if( parser->chunk_size == (size_t)0 ) {
|
||||
/* done reading entity; determine length of entity */
|
||||
parser->msg.entity.length = parser->scanner.cursor -
|
||||
parser->entity_start_position + parser->msg.amount_discarded;
|
||||
@@ -1737,7 +1762,7 @@ parser_parse_chunky_entity( INOUT http_parser_t * parser )
|
||||
* Parameters:
|
||||
* INOUT http_parser_t* parser ; HTTP Parser object
|
||||
*
|
||||
* Description: Read headers at the end of the chunked entity
|
||||
* Description: Keep reading entity until the connection is closed.
|
||||
*
|
||||
* Returns:
|
||||
* PARSE_INCOMPLETE_ENTITY
|
||||
@@ -1774,9 +1799,9 @@ parser_parse_entity_until_close( INOUT http_parser_t * parser )
|
||||
* Description: Determines method to read entity
|
||||
*
|
||||
* Returns:
|
||||
* PARSE_OK
|
||||
* PARSE_CONTINUE_1
|
||||
* PARSE_FAILURE
|
||||
* PARSE_COMPLETE -- no more reading to do
|
||||
* PARSE_SUCCESS -- no more reading to do
|
||||
************************************************************************/
|
||||
UPNP_INLINE parse_status_t
|
||||
parser_get_entity_read_method( INOUT http_parser_t * parser )
|
||||
@@ -1789,7 +1814,7 @@ parser_get_entity_read_method( INOUT http_parser_t * parser )
|
||||
|
||||
/* entity points to start of msg body */
|
||||
parser->msg.entity.buf = scanner_get_str( &parser->scanner );
|
||||
parser->msg.entity.length = 0;
|
||||
parser->msg.entity.length = ( size_t ) 0;
|
||||
|
||||
/* remember start of body */
|
||||
parser->entity_start_position = parser->scanner.cursor;
|
||||
@@ -1821,11 +1846,11 @@ parser_get_entity_read_method( INOUT http_parser_t * parser )
|
||||
if( response_code == 204 ||
|
||||
response_code == 304 ||
|
||||
( response_code >= 100 && response_code <= 199 ) ||
|
||||
hmsg->request_method == HTTPMETHOD_HEAD ||
|
||||
hmsg->request_method == HTTPMETHOD_MSEARCH ||
|
||||
hmsg->request_method == HTTPMETHOD_SUBSCRIBE ||
|
||||
hmsg->request_method == HTTPMETHOD_UNSUBSCRIBE ||
|
||||
hmsg->request_method == HTTPMETHOD_NOTIFY ) {
|
||||
hmsg->request_method == ( http_method_t ) HTTPMETHOD_HEAD ||
|
||||
hmsg->request_method == ( http_method_t ) HTTPMETHOD_MSEARCH ||
|
||||
hmsg->request_method == ( http_method_t ) HTTPMETHOD_SUBSCRIBE ||
|
||||
hmsg->request_method == ( http_method_t ) HTTPMETHOD_UNSUBSCRIBE ||
|
||||
hmsg->request_method == ( http_method_t ) HTTPMETHOD_NOTIFY ) {
|
||||
parser->position = POS_COMPLETE;
|
||||
return PARSE_SUCCESS;
|
||||
}
|
||||
@@ -1854,7 +1879,7 @@ parser_get_entity_read_method( INOUT http_parser_t * parser )
|
||||
if( hmsg->is_request ) {
|
||||
/* set hack flag for NOTIFY methods; if set to true this is */
|
||||
/* a valid SSDP notify msg */
|
||||
if( hmsg->method == HTTPMETHOD_NOTIFY ) {
|
||||
if( hmsg->method == ( http_method_t ) HTTPMETHOD_NOTIFY ) {
|
||||
parser->valid_ssdp_notify_hack = TRUE;
|
||||
}
|
||||
|
||||
@@ -1872,17 +1897,19 @@ parser_get_entity_read_method( INOUT http_parser_t * parser )
|
||||
* Parameters:
|
||||
* INOUT http_parser_t* parser ; HTTP Parser object
|
||||
*
|
||||
* Description: Determines method to read entity
|
||||
* Description: Read HTTP entity body
|
||||
*
|
||||
* Returns:
|
||||
* PARSE_OK
|
||||
* PARSE_FAILURE
|
||||
* PARSE_COMPLETE -- no more reading to do
|
||||
* PARSE_NO_MATCH
|
||||
* PARSE_INCOMPLETE
|
||||
* PARSE_INCOMPLETE_ENTITY
|
||||
* PARSE_SUCCESS -- no more reading to do
|
||||
************************************************************************/
|
||||
UPNP_INLINE parse_status_t
|
||||
parser_parse_entity( INOUT http_parser_t * parser )
|
||||
{
|
||||
parse_status_t status = PARSE_OK;
|
||||
parse_status_t status;
|
||||
|
||||
assert( parser->position == POS_ENTITY );
|
||||
|
||||
@@ -1913,10 +1940,11 @@ parser_parse_entity( INOUT http_parser_t * parser )
|
||||
break;
|
||||
|
||||
default:
|
||||
status = PARSE_FAILURE;
|
||||
assert( 0 );
|
||||
}
|
||||
|
||||
} while( status == PARSE_CONTINUE_1 );
|
||||
} while( status == ( parse_status_t ) PARSE_CONTINUE_1 );
|
||||
|
||||
return status;
|
||||
}
|
||||
@@ -1959,7 +1987,7 @@ parser_response_init( OUT http_parser_t * parser,
|
||||
parser_init( parser );
|
||||
parser->msg.is_request = FALSE;
|
||||
parser->msg.request_method = request_method;
|
||||
parser->msg.amount_discarded = 0;
|
||||
parser->msg.amount_discarded = (size_t)0;
|
||||
parser->position = POS_RESPONSE_LINE;
|
||||
}
|
||||
|
||||
@@ -1973,7 +2001,11 @@ parser_response_init( OUT http_parser_t * parser,
|
||||
* parser object the actual parsing function is invoked
|
||||
*
|
||||
* Returns:
|
||||
* void
|
||||
* PARSE_SUCCESS
|
||||
* PARSE_FAILURE
|
||||
* PARSE_INCOMPLETE
|
||||
* PARSE_INCOMPLETE_ENTITY
|
||||
* PARSE_NO_MATCH
|
||||
************************************************************************/
|
||||
parse_status_t
|
||||
parser_parse( INOUT http_parser_t * parser )
|
||||
@@ -2013,7 +2045,7 @@ parser_parse( INOUT http_parser_t * parser )
|
||||
}
|
||||
}
|
||||
|
||||
} while( status == PARSE_OK );
|
||||
} while( status == ( parse_status_t ) PARSE_OK );
|
||||
|
||||
return status;
|
||||
|
||||
@@ -2028,11 +2060,14 @@ parser_parse( INOUT http_parser_t * parser )
|
||||
* buffer
|
||||
* IN size_t buf_length ; Size of the buffer
|
||||
*
|
||||
* Description: The parser function. Depending on the position of the
|
||||
* parser object the actual parsing function is invoked
|
||||
* Description: Append date to HTTP parser, and do the parsing.
|
||||
*
|
||||
* Returns:
|
||||
* void
|
||||
* PARSE_SUCCESS
|
||||
* PARSE_FAILURE
|
||||
* PARSE_INCOMPLETE
|
||||
* PARSE_INCOMPLETE_ENTITY
|
||||
* PARSE_NO_MATCH
|
||||
************************************************************************/
|
||||
parse_status_t
|
||||
parser_append( INOUT http_parser_t * parser,
|
||||
@@ -2072,7 +2107,7 @@ int raw_to_int(IN memptr *raw_value, IN int base)
|
||||
long num;
|
||||
char *end_ptr;
|
||||
|
||||
if (raw_value->length == 0)
|
||||
if (raw_value->length == (size_t)0)
|
||||
return -1;
|
||||
errno = 0;
|
||||
num = strtol(raw_value->buf, &end_ptr, base);
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
*
|
||||
* Copyright (c) 2000-2003 Intel Corporation
|
||||
* All rights reserved.
|
||||
* Copyright (c) 2012 France Telecom All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
@@ -58,6 +59,7 @@
|
||||
#ifdef WIN32
|
||||
#include <malloc.h>
|
||||
#define fseeko fseek
|
||||
#define snprintf _snprintf
|
||||
#else
|
||||
#include <arpa/inet.h>
|
||||
#include <sys/types.h>
|
||||
@@ -74,8 +76,8 @@
|
||||
const int CHUNK_HEADER_SIZE = 10;
|
||||
const int CHUNK_TAIL_SIZE = 10;
|
||||
*/
|
||||
#define CHUNK_HEADER_SIZE 10
|
||||
#define CHUNK_TAIL_SIZE 10
|
||||
#define CHUNK_HEADER_SIZE (size_t)10
|
||||
#define CHUNK_TAIL_SIZE (size_t)10
|
||||
|
||||
#ifndef UPNP_ENABLE_BLOCKING_TCP_CONNECTIONS
|
||||
|
||||
@@ -124,7 +126,7 @@ static int Check_Connect_And_Wait_Connection(
|
||||
#ifndef WIN32
|
||||
} else {
|
||||
int valopt = 0;
|
||||
socklen_t len = 0;
|
||||
socklen_t len = sizeof(valopt);
|
||||
if (getsockopt(sock, SOL_SOCKET, SO_ERROR, (void *) &valopt, &len) < 0) {
|
||||
/* failed to read delayed error */
|
||||
return -1;
|
||||
@@ -162,6 +164,18 @@ static int private_connect(
|
||||
#endif /* UPNP_ENABLE_BLOCKING_TCP_CONNECTIONS */
|
||||
}
|
||||
|
||||
#ifdef WIN32
|
||||
struct tm *http_gmtime_r(const time_t *clock, struct tm *result)
|
||||
{
|
||||
if (clock == NULL || *clock < 0 || result == NULL)
|
||||
return NULL;
|
||||
|
||||
/* gmtime in VC runtime is thread safe. */
|
||||
*result = *gmtime(clock);
|
||||
return result;
|
||||
}
|
||||
#endif
|
||||
|
||||
int http_FixUrl(IN uri_type *url, OUT uri_type *fixed_url)
|
||||
{
|
||||
const char *temp_path = "/";
|
||||
@@ -170,13 +184,13 @@ int http_FixUrl(IN uri_type *url, OUT uri_type *fixed_url)
|
||||
if (token_string_casecmp(&fixed_url->scheme, "http") != 0) {
|
||||
return UPNP_E_INVALID_URL;
|
||||
}
|
||||
if( fixed_url->hostport.text.size == 0 ) {
|
||||
if( fixed_url->hostport.text.size == ( size_t ) 0 ) {
|
||||
return UPNP_E_INVALID_URL;
|
||||
}
|
||||
/* set pathquery to "/" if it is empty */
|
||||
if (fixed_url->pathquery.size == 0) {
|
||||
if (fixed_url->pathquery.size == (size_t)0) {
|
||||
fixed_url->pathquery.buff = temp_path;
|
||||
fixed_url->pathquery.size = 1;
|
||||
fixed_url->pathquery.size = (size_t)1;
|
||||
}
|
||||
|
||||
return UPNP_E_SUCCESS;
|
||||
@@ -218,12 +232,14 @@ SOCKET http_Connect(
|
||||
SOCKET connfd;
|
||||
socklen_t sockaddr_len;
|
||||
int ret_connect;
|
||||
char errorBuffer[ERROR_BUFFER_LEN];
|
||||
|
||||
http_FixUrl(destination_url, url);
|
||||
|
||||
connfd = socket(url->hostport.IPaddress.ss_family, SOCK_STREAM, 0);
|
||||
if (connfd == -1) {
|
||||
return UPNP_E_OUTOF_SOCKET;
|
||||
connfd = socket((int)url->hostport.IPaddress.ss_family,
|
||||
SOCK_STREAM, 0);
|
||||
if (connfd == INVALID_SOCKET) {
|
||||
return (SOCKET)(UPNP_E_OUTOF_SOCKET);
|
||||
}
|
||||
sockaddr_len = (socklen_t)(url->hostport.IPaddress.ss_family == AF_INET6 ?
|
||||
sizeof(struct sockaddr_in6) : sizeof(struct sockaddr_in));
|
||||
@@ -234,9 +250,13 @@ SOCKET http_Connect(
|
||||
UpnpPrintf(UPNP_CRITICAL, HTTP, __FILE__, __LINE__,
|
||||
"connect error: %d\n", WSAGetLastError());
|
||||
#endif
|
||||
shutdown(connfd, SD_BOTH);
|
||||
if (shutdown(connfd, SD_BOTH) == -1) {
|
||||
strerror_r(errno, errorBuffer, ERROR_BUFFER_LEN);
|
||||
UpnpPrintf(UPNP_INFO, HTTP, __FILE__, __LINE__,
|
||||
"Error in shutdown: %s\n", errorBuffer);
|
||||
}
|
||||
UpnpCloseSocket(connfd);
|
||||
return UPNP_E_SOCKET_CONNECT;
|
||||
return (SOCKET)(UPNP_E_SOCKET_CONNECT);
|
||||
}
|
||||
|
||||
return connfd;
|
||||
@@ -275,7 +295,7 @@ int http_RecvMessage(
|
||||
int ok_on_close = FALSE;
|
||||
char buf[2 * 1024];
|
||||
|
||||
if (request_method == HTTPMETHOD_UNKNOWN) {
|
||||
if (request_method == (http_method_t)HTTPMETHOD_UNKNOWN) {
|
||||
parser_request_init(parser);
|
||||
} else {
|
||||
parser_response_init(parser, request_method);
|
||||
@@ -286,12 +306,13 @@ int http_RecvMessage(
|
||||
if (num_read > 0) {
|
||||
/* got data */
|
||||
status = parser_append(parser, buf, (size_t)num_read);
|
||||
if (status == PARSE_SUCCESS) {
|
||||
switch (status) {
|
||||
case PARSE_SUCCESS:
|
||||
UpnpPrintf( UPNP_INFO, HTTP, __FILE__, __LINE__,
|
||||
"<<< (RECVD) <<<\n%s\n-----------------\n",
|
||||
parser->msg.msg.buf );
|
||||
print_http_headers( &parser->msg );
|
||||
if (g_maxContentLength > 0 && parser->content_length > (unsigned int)g_maxContentLength) {
|
||||
if (g_maxContentLength > (size_t)0 && parser->content_length > (unsigned int)g_maxContentLength) {
|
||||
*http_error_code = HTTP_REQ_ENTITY_TOO_LARGE;
|
||||
line = __LINE__;
|
||||
ret = UPNP_E_OUTOF_BOUNDS;
|
||||
@@ -300,19 +321,23 @@ int http_RecvMessage(
|
||||
line = __LINE__;
|
||||
ret = 0;
|
||||
goto ExitFunction;
|
||||
} else if (status == PARSE_FAILURE) {
|
||||
case PARSE_FAILURE:
|
||||
case PARSE_NO_MATCH:
|
||||
*http_error_code = parser->http_error_code;
|
||||
line = __LINE__;
|
||||
ret = UPNP_E_BAD_HTTPMSG;
|
||||
goto ExitFunction;
|
||||
} else if (status == PARSE_INCOMPLETE_ENTITY) {
|
||||
case PARSE_INCOMPLETE_ENTITY:
|
||||
/* read until close */
|
||||
ok_on_close = TRUE;
|
||||
} else if (status == PARSE_CONTINUE_1) {
|
||||
break;
|
||||
case PARSE_CONTINUE_1:
|
||||
/* Web post request. */
|
||||
line = __LINE__;
|
||||
ret = PARSE_SUCCESS;
|
||||
goto ExitFunction;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
} else if (num_read == 0) {
|
||||
if (ok_on_close) {
|
||||
@@ -351,26 +376,32 @@ ExitFunction:
|
||||
|
||||
int http_SendMessage(SOCKINFO *info, int *TimeOut, const char *fmt, ...)
|
||||
{
|
||||
#if EXCLUDE_WEB_SERVER == 0
|
||||
FILE *Fp;
|
||||
va_list argp;
|
||||
struct SendInstruction *Instr = NULL;
|
||||
char *buf = NULL;
|
||||
char *filename = NULL;
|
||||
char *file_buf = NULL;
|
||||
char *ChunkBuf = NULL;
|
||||
/* 10 byte allocated for chunk header. */
|
||||
char Chunk_Header[CHUNK_HEADER_SIZE];
|
||||
size_t num_read;
|
||||
size_t amount_to_be_read = (size_t)0;
|
||||
size_t Data_Buf_Size = WEB_SERVER_BUF_SIZE;
|
||||
#endif /* EXCLUDE_WEB_SERVER */
|
||||
va_list argp;
|
||||
char *buf = NULL;
|
||||
char c;
|
||||
int nw;
|
||||
int RetVal = 0;
|
||||
size_t buf_length;
|
||||
size_t num_read;
|
||||
size_t num_written;
|
||||
size_t amount_to_be_read = 0;
|
||||
/* 10 byte allocated for chunk header. */
|
||||
size_t Data_Buf_Size = WEB_SERVER_BUF_SIZE;
|
||||
|
||||
#if EXCLUDE_WEB_SERVER == 0
|
||||
memset(Chunk_Header, 0, sizeof(Chunk_Header));
|
||||
#endif /* EXCLUDE_WEB_SERVER */
|
||||
va_start(argp, fmt);
|
||||
while ((c = *fmt++) != 0) {
|
||||
while ((c = *fmt++)) {
|
||||
#if EXCLUDE_WEB_SERVER == 0
|
||||
if (c == 'I') {
|
||||
Instr = va_arg(argp, struct SendInstruction *);
|
||||
if (Instr->ReadSendSize >= 0)
|
||||
@@ -402,12 +433,12 @@ int http_SendMessage(SOCKINFO *info, int *TimeOut, const char *fmt, ...)
|
||||
if (virtualDirCallback.seek(Fp, Instr->RangeOffset,
|
||||
SEEK_CUR) != 0) {
|
||||
RetVal = UPNP_E_FILE_READ_ERROR;
|
||||
goto ExitFunction;
|
||||
goto Cleanup_File;
|
||||
}
|
||||
} else if (Instr && Instr->IsRangeActive) {
|
||||
if (fseeko(Fp, Instr->RangeOffset, SEEK_CUR) != 0) {
|
||||
RetVal = UPNP_E_FILE_READ_ERROR;
|
||||
goto ExitFunction;
|
||||
goto Cleanup_File;
|
||||
}
|
||||
}
|
||||
while (amount_to_be_read) {
|
||||
@@ -419,7 +450,7 @@ int http_SendMessage(SOCKINFO *info, int *TimeOut, const char *fmt, ...)
|
||||
nr = virtualDirCallback.read(Fp, file_buf, n);
|
||||
num_read = (size_t)nr;
|
||||
} else {
|
||||
num_read = fread(file_buf, 1, n, Fp);
|
||||
num_read = fread(file_buf, (size_t)1, n, Fp);
|
||||
}
|
||||
amount_to_be_read -= num_read;
|
||||
if (Instr->ReadSendSize < 0) {
|
||||
@@ -427,9 +458,9 @@ int http_SendMessage(SOCKINFO *info, int *TimeOut, const char *fmt, ...)
|
||||
amount_to_be_read = Data_Buf_Size;
|
||||
}
|
||||
} else {
|
||||
num_read = fread(file_buf, 1, Data_Buf_Size, Fp);
|
||||
num_read = fread(file_buf, (size_t)1, Data_Buf_Size, Fp);
|
||||
}
|
||||
if (num_read == 0) {
|
||||
if (num_read == (size_t)0) {
|
||||
/* EOF so no more to send. */
|
||||
if (Instr && Instr->IsChunkActive) {
|
||||
const char *str = "0\r\n\r\n";
|
||||
@@ -443,12 +474,19 @@ int http_SendMessage(SOCKINFO *info, int *TimeOut, const char *fmt, ...)
|
||||
}
|
||||
/* Create chunk for the current buffer. */
|
||||
if (Instr && Instr->IsChunkActive) {
|
||||
int rc;
|
||||
/* Copy CRLF at the end of the chunk */
|
||||
memcpy(file_buf + num_read, "\r\n", 2);
|
||||
memcpy(file_buf + num_read, "\r\n", (size_t)2);
|
||||
/* Hex length for the chunk size. */
|
||||
sprintf(Chunk_Header, "%zx", num_read);
|
||||
/*itoa(num_read,Chunk_Header,16); */
|
||||
strcat(Chunk_Header, "\r\n");
|
||||
memset(Chunk_Header, 0,
|
||||
sizeof(Chunk_Header));
|
||||
rc = snprintf(Chunk_Header,
|
||||
sizeof(Chunk_Header),
|
||||
"%" PRIzx "\r\n", num_read);
|
||||
if (rc < 0 || (unsigned int) rc >= sizeof(Chunk_Header)) {
|
||||
RetVal = UPNP_E_INTERNAL_ERROR;
|
||||
goto Cleanup_File;
|
||||
}
|
||||
/* Copy the chunk size header */
|
||||
memcpy(file_buf - strlen(Chunk_Header),
|
||||
Chunk_Header,
|
||||
@@ -458,10 +496,10 @@ int http_SendMessage(SOCKINFO *info, int *TimeOut, const char *fmt, ...)
|
||||
/*printf("Sending %s\n",file_buf-strlen(Chunk_Header)); */
|
||||
nw = sock_write(info,
|
||||
file_buf - strlen(Chunk_Header),
|
||||
num_read + strlen(Chunk_Header) + 2,
|
||||
num_read + strlen(Chunk_Header) + (size_t)2,
|
||||
TimeOut);
|
||||
num_written = (size_t)nw;
|
||||
if (nw <= 0 || num_written != num_read + strlen(Chunk_Header) + 2)
|
||||
if (nw <= 0 || num_written != num_read + strlen(Chunk_Header) + (size_t)2)
|
||||
/* Send error nothing we can do. */
|
||||
goto Cleanup_File;
|
||||
} else {
|
||||
@@ -484,16 +522,19 @@ Cleanup_File:
|
||||
fclose(Fp);
|
||||
}
|
||||
goto ExitFunction;
|
||||
} else if (c == 'b') {
|
||||
} else
|
||||
#endif /* EXCLUDE_WEB_SERVER */
|
||||
if (c == 'b') {
|
||||
/* memory buffer */
|
||||
buf = va_arg(argp, char *);
|
||||
buf_length = va_arg(argp, size_t);
|
||||
if (buf_length > 0) {
|
||||
if (buf_length > (size_t)0) {
|
||||
nw = sock_write(info, buf, buf_length, TimeOut);
|
||||
num_written = (size_t)nw;
|
||||
UpnpPrintf(UPNP_INFO, HTTP, __FILE__, __LINE__,
|
||||
">>> (SENT) >>>\n"
|
||||
"%.*s\nbuf_length=%zd, num_written=%zd\n""------------\n",
|
||||
"%.*s\nbuf_length=%" PRIzd ", num_written=%" PRIzd "\n"
|
||||
"------------\n",
|
||||
(int)buf_length, buf, buf_length, num_written);
|
||||
if (num_written != buf_length) {
|
||||
RetVal = 0;
|
||||
@@ -505,7 +546,9 @@ Cleanup_File:
|
||||
|
||||
ExitFunction:
|
||||
va_end(argp);
|
||||
#if EXCLUDE_WEB_SERVER == 0
|
||||
free(ChunkBuf);
|
||||
#endif /* EXCLUDE_WEB_SERVER */
|
||||
return RetVal;
|
||||
}
|
||||
|
||||
@@ -547,8 +590,8 @@ int http_RequestAndResponse(
|
||||
SOCKINFO info;
|
||||
|
||||
tcp_connection = socket(
|
||||
destination->hostport.IPaddress.ss_family, SOCK_STREAM, 0);
|
||||
if (tcp_connection == -1) {
|
||||
(int)destination->hostport.IPaddress.ss_family, SOCK_STREAM, 0);
|
||||
if (tcp_connection == INVALID_SOCKET) {
|
||||
parser_response_init(response, req_method);
|
||||
return UPNP_E_SOCKET_ERROR;
|
||||
}
|
||||
@@ -624,7 +667,7 @@ int http_Download( IN const char *url_str,
|
||||
memptr ctype;
|
||||
size_t copy_len;
|
||||
membuffer request;
|
||||
char *urlPath = alloca(strlen(url_str) + 1);
|
||||
char *urlPath = alloca(strlen(url_str) + (size_t)1);
|
||||
|
||||
/*ret_code = parse_uri( (char*)url_str, strlen(url_str), &url ); */
|
||||
UpnpPrintf(UPNP_INFO, HTTP, __FILE__, __LINE__,
|
||||
@@ -634,17 +677,20 @@ int http_Download( IN const char *url_str,
|
||||
return ret_code;
|
||||
/* make msg */
|
||||
membuffer_init(&request);
|
||||
strcpy(urlPath, url_str);
|
||||
memset(urlPath, 0, strlen(url_str) + (size_t)1);
|
||||
strncpy(urlPath, url_str, strlen(url_str));
|
||||
hoststr = strstr(urlPath, "//");
|
||||
if (hoststr == NULL)
|
||||
return UPNP_E_INVALID_URL;
|
||||
hoststr += 2;
|
||||
temp = strchr(hoststr, '/');
|
||||
if (temp == NULL)
|
||||
return UPNP_E_INVALID_URL;
|
||||
*temp = '\0';
|
||||
hostlen = strlen(hoststr);
|
||||
*temp = '/';
|
||||
if (temp) {
|
||||
*temp = '\0';
|
||||
hostlen = strlen(hoststr);
|
||||
*temp = '/';
|
||||
} else {
|
||||
hostlen = strlen(hoststr);
|
||||
}
|
||||
UpnpPrintf(UPNP_INFO, HTTP, __FILE__, __LINE__,
|
||||
"HOSTNAME : %s Length : %" PRIzu "\n", hoststr, hostlen);
|
||||
ret_code = http_MakeMessage(&request, 1, 1,
|
||||
@@ -679,15 +725,15 @@ int http_Download( IN const char *url_str,
|
||||
*content_type = '\0'; /* no content-type */
|
||||
} else {
|
||||
/* safety */
|
||||
copy_len = ctype.length < LINE_SIZE - 1 ?
|
||||
ctype.length : LINE_SIZE - 1;
|
||||
copy_len = ctype.length < LINE_SIZE - (size_t)1 ?
|
||||
ctype.length : LINE_SIZE - (size_t)1;
|
||||
|
||||
memcpy(content_type, ctype.buf, copy_len);
|
||||
content_type[copy_len] = '\0';
|
||||
}
|
||||
}
|
||||
/* extract doc from msg */
|
||||
if ((*doc_length = response.msg.entity.length) == 0) {
|
||||
if ((*doc_length = response.msg.entity.length) == (size_t)0) {
|
||||
/* 0-length msg */
|
||||
*document = NULL;
|
||||
} else if (response.msg.status_code == HTTP_OK) {
|
||||
@@ -697,13 +743,18 @@ int http_Download( IN const char *url_str,
|
||||
msg_length = response.msg.msg.length; /* save for posterity */
|
||||
msg_start = membuffer_detach(&response.msg.msg); /* whole msg */
|
||||
/* move entity to the start; copy null-terminator too */
|
||||
memmove(msg_start, entity_start, *doc_length + 1);
|
||||
memmove(msg_start, entity_start, *doc_length + (size_t)1);
|
||||
/* save mem for body only */
|
||||
*document = realloc(msg_start, *doc_length + 1); /*LEAK_FIX_MK */
|
||||
*document = realloc(msg_start, *doc_length + (size_t)1); /*LEAK_FIX_MK */
|
||||
/* *document = Realloc( msg_start,msg_length, *doc_length + 1 ); LEAK_FIX_MK */
|
||||
/* shrink can't fail */
|
||||
assert(msg_length > *doc_length);
|
||||
assert(*document != NULL);
|
||||
if (msg_length <= *doc_length || *document == NULL)
|
||||
UpnpPrintf(UPNP_INFO, HTTP, __FILE__, __LINE__,
|
||||
"msg_length(%" PRIzu ") <= *doc_length(%"
|
||||
PRIzu ") or document is NULL",
|
||||
msg_length, *doc_length);
|
||||
}
|
||||
if (response.msg.status_code == HTTP_OK) {
|
||||
ret_code = 0; /* success */
|
||||
@@ -745,8 +796,8 @@ int MakePostMessage(const char *url_str, membuffer *request,
|
||||
uri_type *url, int contentLength, const char *contentType)
|
||||
{
|
||||
int ret_code = 0;
|
||||
char *urlPath = alloca(strlen(url_str) + 1);
|
||||
size_t hostlen = 0;
|
||||
char *urlPath = alloca(strlen(url_str) + (size_t)1);
|
||||
size_t hostlen = (size_t)0;
|
||||
char *hoststr;
|
||||
char *temp;
|
||||
|
||||
@@ -757,7 +808,8 @@ int MakePostMessage(const char *url_str, membuffer *request,
|
||||
return ret_code;
|
||||
/* make msg */
|
||||
membuffer_init(request);
|
||||
strcpy(urlPath, url_str);
|
||||
memset(urlPath, 0, strlen(url_str) + (size_t)1);
|
||||
strncpy(urlPath, url_str, strlen(url_str));
|
||||
hoststr = strstr(urlPath, "//");
|
||||
if (hoststr == NULL)
|
||||
return UPNP_E_INVALID_URL;
|
||||
@@ -833,29 +885,29 @@ int http_WriteHttpPost( IN void *Handle,
|
||||
{
|
||||
http_post_handle_t *handle = (http_post_handle_t *)Handle;
|
||||
char *tempbuf = NULL;
|
||||
size_t tempbufSize = 0;
|
||||
size_t tempbufSize = (size_t)0;
|
||||
int freeTempbuf = 0;
|
||||
int numWritten = 0;
|
||||
|
||||
if (!handle || !size || !buf) {
|
||||
if (size)
|
||||
*size = 0;
|
||||
*size = (size_t)0;
|
||||
return UPNP_E_INVALID_PARAM;
|
||||
}
|
||||
if (handle->contentLength == UPNP_USING_CHUNKED) {
|
||||
if (*size) {
|
||||
size_t tempSize = 0;
|
||||
tempbuf = malloc(*size +
|
||||
CHUNK_HEADER_SIZE + CHUNK_TAIL_SIZE);
|
||||
size_t tempSize = *size +
|
||||
CHUNK_HEADER_SIZE + CHUNK_TAIL_SIZE;
|
||||
tempbuf = malloc(tempSize);
|
||||
if (!tempbuf)
|
||||
return UPNP_E_OUTOF_MEMORY;
|
||||
/* begin chunk */
|
||||
sprintf(tempbuf, "%zx\r\n", *size);
|
||||
snprintf(tempbuf, tempSize, "%" PRIzx "\r\n", *size);
|
||||
tempSize = strlen(tempbuf);
|
||||
memcpy(tempbuf + tempSize, buf, *size);
|
||||
memcpy(tempbuf + tempSize + *size, "\r\n", 2);
|
||||
memcpy(tempbuf + tempSize + *size, "\r\n", (size_t)2);
|
||||
/* end of chunk */
|
||||
tempbufSize = tempSize + *size + 2;
|
||||
tempbufSize = tempSize + *size + (size_t)2;
|
||||
freeTempbuf = 1;
|
||||
}
|
||||
} else {
|
||||
@@ -867,7 +919,7 @@ int http_WriteHttpPost( IN void *Handle,
|
||||
if (freeTempbuf)
|
||||
free(tempbuf);
|
||||
if (numWritten < 0) {
|
||||
*size = 0;
|
||||
*size = (size_t)0;
|
||||
return numWritten;
|
||||
} else {
|
||||
*size = (size_t)numWritten;
|
||||
@@ -967,9 +1019,9 @@ int http_OpenHttpPost(
|
||||
if (!handle)
|
||||
return UPNP_E_OUTOF_MEMORY;
|
||||
handle->contentLength = contentLength;
|
||||
tcp_connection = socket(url.hostport.IPaddress.ss_family,
|
||||
tcp_connection = socket((int)url.hostport.IPaddress.ss_family,
|
||||
SOCK_STREAM, 0);
|
||||
if (tcp_connection == -1) {
|
||||
if (tcp_connection == INVALID_SOCKET) {
|
||||
ret_code = UPNP_E_SOCKET_ERROR;
|
||||
goto errorHandler;
|
||||
}
|
||||
@@ -1030,10 +1082,10 @@ int MakeGetMessage(const char *url_str, const char *proxy_str,
|
||||
membuffer *request, uri_type *url)
|
||||
{
|
||||
int ret_code;
|
||||
char *urlPath = alloca(strlen(url_str) + 1);
|
||||
size_t querylen = 0;
|
||||
char *urlPath = alloca(strlen(url_str) + (size_t)1);
|
||||
size_t querylen = (size_t)0;
|
||||
const char *querystr;
|
||||
size_t hostlen = 0;
|
||||
size_t hostlen = (size_t)0;
|
||||
char *hoststr, *temp;
|
||||
|
||||
UpnpPrintf(UPNP_INFO, HTTP, __FILE__, __LINE__,
|
||||
@@ -1043,7 +1095,8 @@ int MakeGetMessage(const char *url_str, const char *proxy_str,
|
||||
return ret_code;
|
||||
/* make msg */
|
||||
membuffer_init(request);
|
||||
strcpy(urlPath, url_str);
|
||||
memset(urlPath, 0, strlen(url_str) + (size_t)1);
|
||||
strncpy(urlPath, url_str, strlen(url_str));
|
||||
hoststr = strstr(urlPath, "//");
|
||||
if (hoststr == NULL)
|
||||
return UPNP_E_INVALID_URL;
|
||||
@@ -1109,13 +1162,17 @@ static int ReadResponseLineAndHeaders(
|
||||
|
||||
/*read response line */
|
||||
status = parser_parse_responseline(parser);
|
||||
if (status == PARSE_OK)
|
||||
switch (status) {
|
||||
case PARSE_OK:
|
||||
done = 1;
|
||||
else if (status == PARSE_INCOMPLETE)
|
||||
break;
|
||||
case PARSE_INCOMPLETE:
|
||||
done = 0;
|
||||
else
|
||||
break;
|
||||
default:
|
||||
/*error */
|
||||
return status;
|
||||
}
|
||||
while (!done) {
|
||||
num_read = sock_read(info, buf, sizeof(buf), timeout_secs);
|
||||
if (num_read > 0) {
|
||||
@@ -1129,11 +1186,14 @@ static int ReadResponseLineAndHeaders(
|
||||
return PARSE_FAILURE;
|
||||
}
|
||||
status = parser_parse_responseline(parser);
|
||||
if (status == PARSE_OK) {
|
||||
switch (status) {
|
||||
case PARSE_OK:
|
||||
done = 1;
|
||||
} else if (status == PARSE_INCOMPLETE) {
|
||||
break;
|
||||
case PARSE_INCOMPLETE:
|
||||
done = 0;
|
||||
} else {
|
||||
break;
|
||||
default:
|
||||
/*error */
|
||||
return status;
|
||||
}
|
||||
@@ -1146,11 +1206,11 @@ static int ReadResponseLineAndHeaders(
|
||||
return num_read;
|
||||
}
|
||||
}
|
||||
done = 0;
|
||||
status = parser_parse_headers(parser);
|
||||
if ((status == PARSE_OK) && (parser->position == POS_ENTITY))
|
||||
if ((status == (parse_status_t)PARSE_OK) &&
|
||||
(parser->position == (parser_pos_t)POS_ENTITY))
|
||||
done = 1;
|
||||
else if (status == PARSE_INCOMPLETE)
|
||||
else if (status == (parse_status_t)PARSE_INCOMPLETE)
|
||||
done = 0;
|
||||
else
|
||||
/*error */
|
||||
@@ -1168,9 +1228,10 @@ static int ReadResponseLineAndHeaders(
|
||||
return PARSE_FAILURE;
|
||||
}
|
||||
status = parser_parse_headers(parser);
|
||||
if (status == PARSE_OK && parser->position == POS_ENTITY)
|
||||
if (status == (parse_status_t)PARSE_OK &&
|
||||
parser->position == (parser_pos_t)POS_ENTITY)
|
||||
done = 1;
|
||||
else if (status == PARSE_INCOMPLETE)
|
||||
else if (status == (parse_status_t)PARSE_INCOMPLETE)
|
||||
done = 0;
|
||||
else
|
||||
/*error */
|
||||
@@ -1221,31 +1282,35 @@ int http_ReadHttpGet(
|
||||
char tempbuf[2 * 1024];
|
||||
int ret_code = 0;
|
||||
|
||||
if (!handle || !size || (*size > 0 && !buf)) {
|
||||
if (!handle || !size || (*size > (size_t)0 && !buf)) {
|
||||
if (size)
|
||||
*size = 0;
|
||||
*size = (size_t)0;
|
||||
return UPNP_E_INVALID_PARAM;
|
||||
}
|
||||
/* first parse what has already been gotten */
|
||||
if (handle->response.position != POS_COMPLETE)
|
||||
if (handle->response.position != (parser_pos_t)POS_COMPLETE)
|
||||
status = parser_parse_entity(&handle->response);
|
||||
else
|
||||
status = PARSE_SUCCESS;
|
||||
if (status == PARSE_INCOMPLETE_ENTITY)
|
||||
switch (status) {
|
||||
case PARSE_INCOMPLETE_ENTITY:
|
||||
/* read until close */
|
||||
ok_on_close = TRUE;
|
||||
else if ((status != PARSE_SUCCESS)
|
||||
&& (status != PARSE_CONTINUE_1)
|
||||
&& (status != PARSE_INCOMPLETE)) {
|
||||
break;
|
||||
case PARSE_SUCCESS:
|
||||
case PARSE_CONTINUE_1:
|
||||
case PARSE_INCOMPLETE:
|
||||
break;
|
||||
default:
|
||||
/*error */
|
||||
*size = 0;
|
||||
*size = (size_t)0;
|
||||
return UPNP_E_BAD_RESPONSE;
|
||||
}
|
||||
/* read more if necessary entity */
|
||||
while (handle->response.msg.amount_discarded + *size >
|
||||
handle->response.msg.entity.length &&
|
||||
!handle->cancel &&
|
||||
handle->response.position != POS_COMPLETE) {
|
||||
handle->response.position != (parser_pos_t)POS_COMPLETE) {
|
||||
num_read = sock_read(&handle->sock_info, tempbuf,
|
||||
sizeof(tempbuf), &timeout);
|
||||
if (num_read > 0) {
|
||||
@@ -1256,18 +1321,22 @@ int http_ReadHttpGet(
|
||||
/* set failure status */
|
||||
handle->response.http_error_code =
|
||||
HTTP_INTERNAL_SERVER_ERROR;
|
||||
*size = 0;
|
||||
*size = (size_t)0;
|
||||
return PARSE_FAILURE;
|
||||
}
|
||||
status = parser_parse_entity(&handle->response);
|
||||
if (status == PARSE_INCOMPLETE_ENTITY) {
|
||||
switch (status) {
|
||||
case PARSE_INCOMPLETE_ENTITY:
|
||||
/* read until close */
|
||||
ok_on_close = TRUE;
|
||||
} else if ((status != PARSE_SUCCESS)
|
||||
&& (status != PARSE_CONTINUE_1)
|
||||
&& (status != PARSE_INCOMPLETE)) {
|
||||
break;
|
||||
case PARSE_SUCCESS:
|
||||
case PARSE_CONTINUE_1:
|
||||
case PARSE_INCOMPLETE:
|
||||
break;
|
||||
default:
|
||||
/*error */
|
||||
*size = 0;
|
||||
*size = (size_t)0;
|
||||
return UPNP_E_BAD_RESPONSE;
|
||||
}
|
||||
} else if (num_read == 0) {
|
||||
@@ -1278,12 +1347,12 @@ int http_ReadHttpGet(
|
||||
handle->response.position = POS_COMPLETE;
|
||||
} else {
|
||||
/* partial msg */
|
||||
*size = 0;
|
||||
*size = (size_t)0;
|
||||
handle->response.http_error_code = HTTP_BAD_REQUEST; /* or response */
|
||||
return UPNP_E_BAD_HTTPMSG;
|
||||
}
|
||||
} else {
|
||||
*size = 0;
|
||||
*size = (size_t)0;
|
||||
return num_read;
|
||||
}
|
||||
}
|
||||
@@ -1296,7 +1365,7 @@ int http_ReadHttpGet(
|
||||
*size = handle->response.msg.entity.length -
|
||||
handle->response.msg.amount_discarded;
|
||||
/* copy data to user buffer. delete copied data */
|
||||
if (*size > 0) {
|
||||
if (*size > (size_t)0) {
|
||||
memcpy(buf, &handle->response.msg.msg.buf[handle->response.entity_start_position],
|
||||
*size);
|
||||
membuffer_delete(&handle->response.msg.msg,
|
||||
@@ -1445,8 +1514,8 @@ int http_OpenHttpGetProxy(const char *url_str, const char *proxy_str,
|
||||
handle->cancel = 0;
|
||||
parser_response_init(&handle->response, HTTPMETHOD_GET);
|
||||
tcp_connection =
|
||||
socket(peer->hostport.IPaddress.ss_family, SOCK_STREAM, 0);
|
||||
if (tcp_connection == -1) {
|
||||
socket((int)peer->hostport.IPaddress.ss_family, SOCK_STREAM, 0);
|
||||
if (tcp_connection == INVALID_SOCKET) {
|
||||
ret_code = UPNP_E_SOCKET_ERROR;
|
||||
goto errorHandler;
|
||||
}
|
||||
@@ -1472,15 +1541,18 @@ int http_OpenHttpGetProxy(const char *url_str, const char *proxy_str,
|
||||
sock_destroy(&handle->sock_info, SD_BOTH);
|
||||
goto errorHandler;
|
||||
}
|
||||
status = ReadResponseLineAndHeaders(&handle->sock_info,
|
||||
&handle->response, &timeout,
|
||||
&http_error_code);
|
||||
if (status != PARSE_OK) {
|
||||
if (ReadResponseLineAndHeaders(&handle->sock_info,
|
||||
&handle->response, &timeout,
|
||||
&http_error_code) != (int)PARSE_OK) {
|
||||
ret_code = UPNP_E_BAD_RESPONSE;
|
||||
goto errorHandler;
|
||||
}
|
||||
status = parser_get_entity_read_method(&handle->response);
|
||||
if (status != PARSE_CONTINUE_1 && status != PARSE_SUCCESS) {
|
||||
switch (status) {
|
||||
case PARSE_CONTINUE_1:
|
||||
case PARSE_SUCCESS:
|
||||
break;
|
||||
default:
|
||||
ret_code = UPNP_E_BAD_RESPONSE;
|
||||
goto errorHandler;
|
||||
}
|
||||
@@ -1491,7 +1563,7 @@ int http_OpenHttpGetProxy(const char *url_str, const char *proxy_str,
|
||||
*contentType = NULL;
|
||||
else
|
||||
*contentType = ctype.buf;
|
||||
if (handle->response.position == POS_COMPLETE)
|
||||
if (handle->response.position == (parser_pos_t)POS_COMPLETE)
|
||||
*contentLength = 0;
|
||||
else if (handle->response.ent_position == ENTREAD_USING_CHUNKED)
|
||||
*contentLength = UPNP_USING_CHUNKED;
|
||||
@@ -1539,7 +1611,7 @@ int http_SendStatusResponse(IN SOCKINFO *info, IN int http_status_code,
|
||||
http_CalcResponseVersion(request_major_version, request_minor_version,
|
||||
&response_major, &response_minor);
|
||||
membuffer_init(&membuf);
|
||||
membuf.size_inc = 70;
|
||||
membuf.size_inc = (size_t)70;
|
||||
/* response start line */
|
||||
ret = http_MakeMessage(&membuf, response_major, response_minor, "RSCB",
|
||||
http_status_code, http_status_code);
|
||||
@@ -1563,6 +1635,7 @@ int http_MakeMessage(membuffer *buf, int http_major_version,
|
||||
size_t length;
|
||||
time_t *loc_time;
|
||||
time_t curr_time;
|
||||
struct tm date_storage;
|
||||
struct tm *date;
|
||||
const char *start_str;
|
||||
const char *end_str;
|
||||
@@ -1580,9 +1653,11 @@ int http_MakeMessage(membuffer *buf, int http_major_version,
|
||||
const char *weekday_str = "Sun\0Mon\0Tue\0Wed\0Thu\0Fri\0Sat";
|
||||
const char *month_str = "Jan\0Feb\0Mar\0Apr\0May\0Jun\0"
|
||||
"Jul\0Aug\0Sep\0Oct\0Nov\0Dec";
|
||||
int rc = 0;
|
||||
|
||||
memset(tempbuf, 0, sizeof(tempbuf));
|
||||
va_start(argp, fmt);
|
||||
while ((c = *fmt++) != 0) {
|
||||
while ((c = *fmt++)) {
|
||||
if (c == 's') {
|
||||
/* C string */
|
||||
s = (char *)va_arg(argp, char *);
|
||||
@@ -1610,26 +1685,29 @@ int http_MakeMessage(membuffer *buf, int http_major_version,
|
||||
/* mem buffer */
|
||||
s = (char *)va_arg(argp, char *);
|
||||
UpnpPrintf(UPNP_ALL, HTTP, __FILE__, __LINE__,
|
||||
"Adding a char Buffer starting with: %c\n", s[0]);
|
||||
"Adding a char Buffer starting with: %c\n", (int)s[0]);
|
||||
assert(s);
|
||||
length = (size_t) va_arg(argp, size_t);
|
||||
if (membuffer_append(buf, s, length))
|
||||
goto error_handler;
|
||||
} else if (c == 'c') {
|
||||
/* crlf */
|
||||
if (membuffer_append(buf, "\r\n", 2))
|
||||
if (membuffer_append(buf, "\r\n", (size_t)2))
|
||||
goto error_handler;
|
||||
} else if (c == 'd') {
|
||||
/* integer */
|
||||
num = (size_t)va_arg(argp, int);
|
||||
sprintf(tempbuf, "%" PRIzu, num);
|
||||
if (membuffer_append(buf, tempbuf, strlen(tempbuf)))
|
||||
rc = snprintf(tempbuf, sizeof(tempbuf), "%" PRIzu, num);
|
||||
if (rc < 0 || (unsigned int) rc >= sizeof(tempbuf) ||
|
||||
membuffer_append(buf, tempbuf, strlen(tempbuf)))
|
||||
goto error_handler;
|
||||
} else if (c == 'h') {
|
||||
/* off_t */
|
||||
bignum = (off_t) va_arg(argp, off_t);
|
||||
sprintf(tempbuf, "%" PRId64, (int64_t) bignum);
|
||||
if (membuffer_append(buf, tempbuf, strlen(tempbuf)))
|
||||
rc = snprintf(tempbuf, sizeof(tempbuf), "%" PRId64,
|
||||
(int64_t) bignum);
|
||||
if (rc < 0 || (unsigned int) rc >= sizeof(tempbuf) ||
|
||||
membuffer_append(buf, tempbuf, strlen(tempbuf)))
|
||||
goto error_handler;
|
||||
} else if (c == 't' || c == 'D') {
|
||||
/* date */
|
||||
@@ -1645,14 +1723,17 @@ int http_MakeMessage(membuffer *buf, int http_major_version,
|
||||
loc_time = (time_t *)va_arg(argp, time_t *);
|
||||
}
|
||||
assert(loc_time);
|
||||
date = gmtime(loc_time);
|
||||
sprintf(tempbuf,
|
||||
date = http_gmtime_r(loc_time, &date_storage);
|
||||
if (date == NULL)
|
||||
goto error_handler;
|
||||
rc = snprintf(tempbuf, sizeof(tempbuf),
|
||||
"%s%s, %02d %s %d %02d:%02d:%02d GMT%s",
|
||||
start_str, &weekday_str[date->tm_wday * 4],
|
||||
date->tm_mday, &month_str[date->tm_mon * 4],
|
||||
date->tm_year + 1900, date->tm_hour,
|
||||
date->tm_min, date->tm_sec, end_str);
|
||||
if (membuffer_append(buf, tempbuf, strlen(tempbuf)))
|
||||
if (rc < 0 || (unsigned int) rc >= sizeof(tempbuf) ||
|
||||
membuffer_append(buf, tempbuf, strlen(tempbuf)))
|
||||
goto error_handler;
|
||||
} else if (c == 'L') {
|
||||
/* Add CONTENT-LANGUAGE header only if WEB_SERVER_CONTENT_LANGUAGE */
|
||||
@@ -1686,7 +1767,7 @@ int http_MakeMessage(membuffer *buf, int http_major_version,
|
||||
} else if (c == 'S' || c == 'U') {
|
||||
/* SERVER or USER-AGENT header */
|
||||
temp_str = (c == 'S') ? "SERVER: " : "USER-AGENT: ";
|
||||
get_sdk_info(tempbuf);
|
||||
get_sdk_info(tempbuf, sizeof(tempbuf));
|
||||
if (http_MakeMessage(buf, http_major_version, http_minor_version,
|
||||
"ss", temp_str, tempbuf) != 0)
|
||||
goto error_handler;
|
||||
@@ -1703,21 +1784,24 @@ int http_MakeMessage(membuffer *buf, int http_major_version,
|
||||
/* e.g.: 'HTTP/1.1 200 OK' code */
|
||||
status_code = (int)va_arg(argp, int);
|
||||
assert(status_code > 0);
|
||||
sprintf(tempbuf, "HTTP/%d.%d %d ",
|
||||
rc = snprintf(tempbuf, sizeof(tempbuf), "HTTP/%d.%d %d ",
|
||||
http_major_version, http_minor_version,
|
||||
status_code);
|
||||
/* str */
|
||||
status_msg = http_get_code_text(status_code);
|
||||
if (http_MakeMessage(buf, http_major_version, http_minor_version,
|
||||
if (rc < 0 || (unsigned int) rc >= sizeof(tempbuf) ||
|
||||
http_MakeMessage(buf, http_major_version, http_minor_version,
|
||||
"ssc", tempbuf, status_msg) != 0)
|
||||
goto error_handler;
|
||||
} else if (c == 'B') {
|
||||
/* body of a simple reply */
|
||||
status_code = (int)va_arg(argp, int);
|
||||
sprintf(tempbuf, "%s%d %s%s",
|
||||
rc = snprintf(tempbuf, sizeof(tempbuf), "%s%d %s%s",
|
||||
"<html><body><h1>",
|
||||
status_code, http_get_code_text(status_code),
|
||||
"</h1></body></html>");
|
||||
if (rc < 0 || (unsigned int) rc >= sizeof(tempbuf))
|
||||
goto error_handler;
|
||||
bignum = (off_t)strlen(tempbuf);
|
||||
if (http_MakeMessage(buf, http_major_version, http_minor_version,
|
||||
"NTcs", bignum, /* content-length */
|
||||
@@ -1830,7 +1914,7 @@ int MakeGetMessageEx( const char *url_str,
|
||||
{
|
||||
int errCode = UPNP_E_SUCCESS;
|
||||
char *urlPath = NULL;
|
||||
size_t hostlen = 0;
|
||||
size_t hostlen = (size_t)0;
|
||||
char *hoststr, *temp;
|
||||
|
||||
do {
|
||||
@@ -1843,13 +1927,13 @@ int MakeGetMessageEx( const char *url_str,
|
||||
}
|
||||
/* make msg */
|
||||
membuffer_init(request);
|
||||
urlPath = alloca(strlen(url_str) + 1);
|
||||
urlPath = alloca(strlen(url_str) + (size_t)1);
|
||||
if (!urlPath) {
|
||||
errCode = UPNP_E_OUTOF_MEMORY;
|
||||
break;
|
||||
}
|
||||
memset(urlPath, 0, strlen(url_str) + 1);
|
||||
strcpy(urlPath, url_str);
|
||||
memset(urlPath, 0, strlen(url_str) + (size_t)1);
|
||||
strncpy(urlPath, url_str, strlen(url_str));
|
||||
hoststr = strstr(urlPath, "//");
|
||||
if (hoststr == NULL) {
|
||||
errCode = UPNP_E_INVALID_URL;
|
||||
@@ -1934,6 +2018,9 @@ int http_OpenHttpGetEx(
|
||||
int errCode = UPNP_E_SUCCESS;
|
||||
/* char rangeBuf[SIZE_RANGE_BUFFER]; */
|
||||
struct SendInstruction rangeBuf;
|
||||
int rc = 0;
|
||||
|
||||
membuffer_init(&request);
|
||||
|
||||
do {
|
||||
/* Checking Input parameters */
|
||||
@@ -1951,8 +2038,10 @@ int http_OpenHttpGetEx(
|
||||
break;
|
||||
}
|
||||
memset(&rangeBuf, 0, sizeof(rangeBuf));
|
||||
sprintf(rangeBuf.RangeHeader,
|
||||
rc = snprintf(rangeBuf.RangeHeader, sizeof(rangeBuf.RangeHeader),
|
||||
"Range: bytes=%d-%d\r\n", lowRange, highRange);
|
||||
if (rc < 0 || (unsigned int) rc >= sizeof(rangeBuf.RangeHeader))
|
||||
break;
|
||||
membuffer_init(&request);
|
||||
errCode = MakeGetMessageEx(url_str, &request, &url, &rangeBuf);
|
||||
if (errCode != UPNP_E_SUCCESS)
|
||||
@@ -1964,8 +2053,9 @@ int http_OpenHttpGetEx(
|
||||
}
|
||||
memset(handle, 0, sizeof(*handle));
|
||||
parser_response_init(&handle->response, HTTPMETHOD_GET);
|
||||
tcp_connection = socket(url.hostport.IPaddress.ss_family, SOCK_STREAM, 0);
|
||||
if (tcp_connection == -1) {
|
||||
tcp_connection = socket((int)url.hostport.IPaddress.ss_family,
|
||||
SOCK_STREAM, 0);
|
||||
if (tcp_connection == INVALID_SOCKET) {
|
||||
errCode = UPNP_E_SOCKET_ERROR;
|
||||
free(handle);
|
||||
break;
|
||||
@@ -1995,15 +2085,15 @@ int http_OpenHttpGetEx(
|
||||
free(handle);
|
||||
break;
|
||||
}
|
||||
status = ReadResponseLineAndHeaders(&handle->sock_info,
|
||||
&handle->response, &timeout, &http_error_code);
|
||||
if (status != PARSE_OK) {
|
||||
if (ReadResponseLineAndHeaders(&handle->sock_info,
|
||||
&handle->response, &timeout, &http_error_code) != (int)PARSE_OK) {
|
||||
errCode = UPNP_E_BAD_RESPONSE;
|
||||
free(handle);
|
||||
break;
|
||||
}
|
||||
status = parser_get_entity_read_method(&handle->response);
|
||||
if (status != PARSE_CONTINUE_1 && status != PARSE_SUCCESS) {
|
||||
if (status != (parse_status_t)PARSE_CONTINUE_1 &&
|
||||
status != (parse_status_t)PARSE_SUCCESS) {
|
||||
errCode = UPNP_E_BAD_RESPONSE;
|
||||
free(handle);
|
||||
break;
|
||||
@@ -2016,7 +2106,7 @@ int http_OpenHttpGetEx(
|
||||
*contentType = NULL;
|
||||
else
|
||||
*contentType = ctype.buf;
|
||||
if (handle->response.position == POS_COMPLETE)
|
||||
if (handle->response.position == (parser_pos_t)POS_COMPLETE)
|
||||
*contentLength = 0;
|
||||
else if(handle->response.ent_position == ENTREAD_USING_CHUNKED)
|
||||
*contentLength = UPNP_USING_CHUNKED;
|
||||
@@ -2038,6 +2128,7 @@ int http_OpenHttpGetEx(
|
||||
*
|
||||
* Parameters:
|
||||
* OUT char *info; buffer to store the operating system information
|
||||
* IN size_t infoSize; size of buffer
|
||||
*
|
||||
* Description:
|
||||
* Returns the server information for the operating system
|
||||
@@ -2046,14 +2137,17 @@ int http_OpenHttpGetEx(
|
||||
* UPNP_INLINE void
|
||||
************************************************************************/
|
||||
/* 'info' should have a size of at least 100 bytes */
|
||||
void get_sdk_info(OUT char *info)
|
||||
void get_sdk_info(OUT char *info, IN size_t infoSize)
|
||||
{
|
||||
#ifdef UPNP_ENABLE_UNSPECIFIED_SERVER
|
||||
snprintf(info, infoSize, "Unspecified, UPnP/1.0, Unspecified\r\n");
|
||||
#else /* UPNP_ENABLE_UNSPECIFIED_SERVER */
|
||||
#ifdef WIN32
|
||||
OSVERSIONINFO versioninfo;
|
||||
versioninfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
|
||||
|
||||
if (GetVersionEx(&versioninfo) != 0)
|
||||
sprintf(info,
|
||||
snprintf(info, infoSize,
|
||||
"%d.%d.%d %d/%s, UPnP/1.0, Portable SDK for UPnP devices/"
|
||||
PACKAGE_VERSION "\r\n", versioninfo.dwMajorVersion,
|
||||
versioninfo.dwMinorVersion, versioninfo.dwBuildNumber,
|
||||
@@ -2067,9 +2161,10 @@ void get_sdk_info(OUT char *info)
|
||||
ret_code = uname(&sys_info);
|
||||
if (ret_code == -1)
|
||||
*info = '\0';
|
||||
sprintf(info,
|
||||
snprintf(info, infoSize,
|
||||
"%s/%s, UPnP/1.0, Portable SDK for UPnP devices/"
|
||||
PACKAGE_VERSION "\r\n", sys_info.sysname, sys_info.release);
|
||||
#endif
|
||||
#endif /* UPNP_ENABLE_UNSPECIFIED_SERVER */
|
||||
}
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
*
|
||||
* Copyright (c) 2000-2003 Intel Corporation
|
||||
* All rights reserved.
|
||||
* Copyright (c) 2012 France Telecom All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
@@ -51,9 +52,13 @@ int has_xml_content_type(http_message_t *hmsg)
|
||||
assert(hmsg);
|
||||
|
||||
/* find 'content-type' header which must have text/xml */
|
||||
if (httpmsg_find_hdr(hmsg, HDR_CONTENT_TYPE, &hdr_value) &&
|
||||
matchstr(hdr_value.buf, hdr_value.length, "%itext%w/%wxml" ) == PARSE_OK) {
|
||||
return TRUE;
|
||||
if (httpmsg_find_hdr(hmsg, HDR_CONTENT_TYPE, &hdr_value)) {
|
||||
switch (matchstr(hdr_value.buf, hdr_value.length, "%itext%w/%wxml" )) {
|
||||
case PARSE_OK:
|
||||
return TRUE;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
*
|
||||
* Copyright (c) 2000-2003 Intel Corporation
|
||||
* All rights reserved.
|
||||
* Copyright (c) 2012 France Telecom All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
@@ -87,14 +88,19 @@ static const char *Http4xxStr =
|
||||
"Unsupported Media Type\0"
|
||||
"Requested Range Not Satisfiable\0" "Expectation Failed\0";
|
||||
|
||||
#define NUM_5XX_CODES 6
|
||||
#define NUM_5XX_CODES 11
|
||||
static const char *Http5xxCodes[NUM_5XX_CODES];
|
||||
static const char *Http5xxStr =
|
||||
"Internal Server Error\0"
|
||||
"Not Implemented\0"
|
||||
"Bad Gateway\0"
|
||||
"Service Unavailable\0"
|
||||
"Gateway Timeout\0" "HTTP Version Not Supported\0";
|
||||
"Gateway Timeout\0"
|
||||
"HTTP Version Not Supported\0"
|
||||
"Variant Also Negotiates\0"
|
||||
"Insufficient Storage\0"
|
||||
"Loop Detected\0"
|
||||
"\0" "Not Extended\0";
|
||||
|
||||
static int gInitialized = FALSE;
|
||||
|
||||
@@ -128,7 +134,7 @@ init_table( IN const char *encoded_str,
|
||||
|
||||
for( i = 0; i < tbl_size; i++ ) {
|
||||
table[i] = s;
|
||||
s += strlen( s ) + 1; /* next entry */
|
||||
s += strlen( s ) + (size_t)1; /* next entry */
|
||||
}
|
||||
}
|
||||
|
||||
@@ -179,7 +185,7 @@ http_get_code_text( int statusCode )
|
||||
init_tables();
|
||||
}
|
||||
|
||||
if( statusCode < 100 && statusCode >= 600 ) {
|
||||
if( statusCode < 100 || statusCode >= 600 ) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
*
|
||||
* Copyright (c) 2000-2003 Intel Corporation
|
||||
* All rights reserved.
|
||||
* Copyright (c) 2012 France Telecom All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
@@ -38,6 +39,8 @@
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#if EXCLUDE_WEB_SERVER == 0
|
||||
|
||||
#include "webserver.h"
|
||||
|
||||
#include "httpparser.h"
|
||||
@@ -59,6 +62,10 @@
|
||||
#include <fcntl.h>
|
||||
#include <sys/stat.h>
|
||||
|
||||
#ifdef WIN32
|
||||
#define snprintf _snprintf
|
||||
#endif
|
||||
|
||||
/*!
|
||||
* Response Types.
|
||||
*/
|
||||
@@ -122,9 +129,23 @@ static const char *gMediaTypes[] = {
|
||||
#define TEXT_INDEX 5
|
||||
|
||||
/* general */
|
||||
#define NUM_MEDIA_TYPES 69
|
||||
#define NUM_MEDIA_TYPES 70
|
||||
#define NUM_HTTP_HEADER_NAMES 33
|
||||
|
||||
#define ASCTIME_R_BUFFER_SIZE 26
|
||||
#ifdef WIN32
|
||||
static char *web_server_asctime_r(const struct tm *tm, char *buf)
|
||||
{
|
||||
if (tm == NULL || buf == NULL)
|
||||
return NULL;
|
||||
|
||||
asctime_s(buf, ASCTIME_R_BUFFER_SIZE, tm);
|
||||
return buf;
|
||||
}
|
||||
#else
|
||||
#define web_server_asctime_r asctime_r
|
||||
#endif
|
||||
|
||||
/* sorted by file extension; must have 'NUM_MEDIA_TYPES' extensions */
|
||||
static const char *gEncodedMediaTypes =
|
||||
"aif\0" AUDIO_STR "aiff\0"
|
||||
@@ -135,6 +156,7 @@ static const char *gEncodedMediaTypes =
|
||||
"au\0" AUDIO_STR "basic\0"
|
||||
"avi\0" VIDEO_STR "msvideo\0"
|
||||
"bmp\0" IMAGE_STR "bmp\0"
|
||||
"css\0" TEXT_STR "css\0"
|
||||
"dcr\0" APPLICATION_STR "x-director\0"
|
||||
"dib\0" IMAGE_STR "bmp\0"
|
||||
"dir\0" APPLICATION_STR "x-director\0"
|
||||
@@ -299,6 +321,7 @@ static UPNP_INLINE int get_content_type(
|
||||
int ctype_found = FALSE;
|
||||
char *temp = NULL;
|
||||
size_t length = 0;
|
||||
int rc = 0;
|
||||
|
||||
(*content_type) = NULL;
|
||||
/* get ext */
|
||||
@@ -315,10 +338,14 @@ static UPNP_INLINE int get_content_type(
|
||||
temp = malloc(length);
|
||||
if (!temp)
|
||||
return UPNP_E_OUTOF_MEMORY;
|
||||
sprintf(temp, "%s/%s", type, subtype);
|
||||
rc = snprintf(temp, length, "%s/%s", type, subtype);
|
||||
if (rc < 0 || (unsigned int) rc >= length) {
|
||||
free(temp);
|
||||
return UPNP_E_OUTOF_MEMORY;
|
||||
}
|
||||
(*content_type) = ixmlCloneDOMString(temp);
|
||||
free(temp);
|
||||
if (!content_type)
|
||||
if (!(*content_type))
|
||||
return UPNP_E_OUTOF_MEMORY;
|
||||
|
||||
return 0;
|
||||
@@ -465,8 +492,6 @@ int web_server_init()
|
||||
|
||||
void web_server_destroy(void)
|
||||
{
|
||||
int ret;
|
||||
|
||||
if (bWebServerState == WEB_SERVER_ENABLED) {
|
||||
membuffer_destroy(&gDocumentRootDir);
|
||||
alias_release(&gAliasDoc);
|
||||
@@ -475,8 +500,7 @@ void web_server_destroy(void)
|
||||
memset(&gAliasDoc, 0, sizeof(struct xml_alias_t));
|
||||
ithread_mutex_unlock(&gWebMutex);
|
||||
|
||||
ret = ithread_mutex_destroy(&gWebMutex);
|
||||
assert(ret == 0);
|
||||
ithread_mutex_destroy(&gWebMutex);
|
||||
bWebServerState = WEB_SERVER_DISABLED;
|
||||
}
|
||||
}
|
||||
@@ -500,7 +524,10 @@ static int get_file_info(
|
||||
struct stat s;
|
||||
FILE *fp;
|
||||
int rc = 0;
|
||||
struct tm date;
|
||||
char buffer[ASCTIME_R_BUFFER_SIZE];
|
||||
|
||||
ixmlFreeDOMString(info->content_type);
|
||||
info->content_type = NULL;
|
||||
code = stat(filename, &s);
|
||||
if (code == -1)
|
||||
@@ -522,7 +549,8 @@ static int get_file_info(
|
||||
UpnpPrintf(UPNP_INFO, HTTP, __FILE__, __LINE__,
|
||||
"file info: %s, length: %lld, last_mod=%s readable=%d\n",
|
||||
filename, (long long)info->file_length,
|
||||
asctime(gmtime(&info->last_modified)), info->is_readable);
|
||||
web_server_asctime_r(http_gmtime_r(&info->last_modified, &date), buffer),
|
||||
info->is_readable);
|
||||
|
||||
return rc;
|
||||
}
|
||||
@@ -744,7 +772,7 @@ static int GetNextRange(
|
||||
*
|
||||
* \return
|
||||
* \li \c HTTP_BAD_REQUEST
|
||||
* \li \c UPNP_E_OUTOF_MEMORY
|
||||
* \li \c HTTP_INTERNAL_SERVER_ERROR
|
||||
* \li \c HTTP_REQUEST_RANGE_NOT_SATISFIABLE
|
||||
* \li \c HTTP_OK
|
||||
*/
|
||||
@@ -759,15 +787,15 @@ static int CreateHTTPRangeResponseHeader(
|
||||
off_t FirstByte, LastByte;
|
||||
char *RangeInput;
|
||||
char *Ptr;
|
||||
int rc = 0;
|
||||
|
||||
Instr->IsRangeActive = 1;
|
||||
Instr->ReadSendSize = FileLength;
|
||||
if (!ByteRangeSpecifier)
|
||||
return HTTP_BAD_REQUEST;
|
||||
RangeInput = malloc(strlen(ByteRangeSpecifier) + 1);
|
||||
RangeInput = strdup(ByteRangeSpecifier);
|
||||
if (!RangeInput)
|
||||
return UPNP_E_OUTOF_MEMORY;
|
||||
strcpy(RangeInput, ByteRangeSpecifier);
|
||||
return HTTP_INTERNAL_SERVER_ERROR;
|
||||
/* CONTENT-RANGE: bytes 222-3333/4000 HTTP_PARTIAL_CONTENT */
|
||||
if (StrStr(RangeInput, "bytes") == NULL ||
|
||||
(Ptr = StrStr(RangeInput, "=")) == NULL) {
|
||||
@@ -792,27 +820,38 @@ static int CreateHTTPRangeResponseHeader(
|
||||
Instr->RangeOffset = FirstByte;
|
||||
Instr->ReadSendSize = LastByte - FirstByte + 1;
|
||||
/* Data between two range. */
|
||||
sprintf(Instr->RangeHeader,
|
||||
rc = snprintf(Instr->RangeHeader,
|
||||
sizeof(Instr->RangeHeader),
|
||||
"CONTENT-RANGE: bytes %" PRId64
|
||||
"-%" PRId64 "/%" PRId64 "\r\n",
|
||||
(int64_t)FirstByte,
|
||||
(int64_t)LastByte,
|
||||
(int64_t)FileLength);
|
||||
if (rc < 0 || (unsigned int) rc >= sizeof(Instr->RangeHeader)) {
|
||||
free(RangeInput);
|
||||
return HTTP_INTERNAL_SERVER_ERROR;
|
||||
}
|
||||
} else if (FirstByte >= 0 && LastByte == -1
|
||||
&& FirstByte < FileLength) {
|
||||
Instr->RangeOffset = FirstByte;
|
||||
Instr->ReadSendSize = FileLength - FirstByte;
|
||||
sprintf(Instr->RangeHeader,
|
||||
rc = snprintf(Instr->RangeHeader,
|
||||
sizeof(Instr->RangeHeader),
|
||||
"CONTENT-RANGE: bytes %" PRId64
|
||||
"-%" PRId64 "/%" PRId64 "\r\n",
|
||||
(int64_t)FirstByte,
|
||||
(int64_t)(FileLength - 1),
|
||||
(int64_t)FileLength);
|
||||
if (rc < 0 || (unsigned int) rc >= sizeof(Instr->RangeHeader)) {
|
||||
free(RangeInput);
|
||||
return HTTP_INTERNAL_SERVER_ERROR;
|
||||
}
|
||||
} else if (FirstByte == -1 && LastByte > 0) {
|
||||
if (LastByte >= FileLength) {
|
||||
Instr->RangeOffset = 0;
|
||||
Instr->ReadSendSize = FileLength;
|
||||
sprintf(Instr->RangeHeader,
|
||||
rc = snprintf(Instr->RangeHeader,
|
||||
sizeof(Instr->RangeHeader),
|
||||
"CONTENT-RANGE: bytes 0-%" PRId64
|
||||
"/%" PRId64 "\r\n",
|
||||
(int64_t)(FileLength - 1),
|
||||
@@ -820,13 +859,18 @@ static int CreateHTTPRangeResponseHeader(
|
||||
} else {
|
||||
Instr->RangeOffset = FileLength - LastByte;
|
||||
Instr->ReadSendSize = LastByte;
|
||||
sprintf(Instr->RangeHeader,
|
||||
rc = snprintf(Instr->RangeHeader,
|
||||
sizeof(Instr->RangeHeader),
|
||||
"CONTENT-RANGE: bytes %" PRId64
|
||||
"-%" PRId64 "/%" PRId64 "\r\n",
|
||||
(int64_t)(FileLength - LastByte + 1),
|
||||
(int64_t)FileLength,
|
||||
(int64_t)(FileLength - LastByte),
|
||||
(int64_t)FileLength - 1,
|
||||
(int64_t)FileLength);
|
||||
}
|
||||
if (rc < 0 || (unsigned int) rc >= sizeof(Instr->RangeHeader)) {
|
||||
free(RangeInput);
|
||||
return HTTP_INTERNAL_SERVER_ERROR;
|
||||
}
|
||||
} else {
|
||||
free(RangeInput);
|
||||
return HTTP_REQUEST_RANGE_NOT_SATISFIABLE;
|
||||
@@ -846,7 +890,7 @@ static int CreateHTTPRangeResponseHeader(
|
||||
*
|
||||
* \return
|
||||
* \li \c HTTP_BAD_REQUEST
|
||||
* \li \c UPNP_E_OUTOF_MEMORY
|
||||
* \li \c HTTP_INTERNAL_SERVER_ERROR
|
||||
* \li \c HTTP_REQUEST_RANGE_NOT_SATISFIABLE
|
||||
* \li \c HTTP_OK
|
||||
*/
|
||||
@@ -863,10 +907,11 @@ static int CheckOtherHTTPHeaders(
|
||||
/*NNS: dlist_node* node; */
|
||||
int index, RetCode = HTTP_OK;
|
||||
char *TmpBuf;
|
||||
size_t TmpBufSize = LINE_SIZE;
|
||||
|
||||
TmpBuf = (char *)malloc(LINE_SIZE);
|
||||
TmpBuf = (char *)malloc(TmpBufSize);
|
||||
if (!TmpBuf)
|
||||
return UPNP_E_OUTOF_MEMORY;
|
||||
return HTTP_INTERNAL_SERVER_ERROR;
|
||||
node = ListHead(&Req->headers);
|
||||
while (node != NULL) {
|
||||
header = (http_header_t *) node->item;
|
||||
@@ -874,11 +919,12 @@ static int CheckOtherHTTPHeaders(
|
||||
index = map_str_to_int((const char *)header->name.buf,
|
||||
header->name.length, Http_Header_Names,
|
||||
NUM_HTTP_HEADER_NAMES, FALSE);
|
||||
if (header->value.length >= LINE_SIZE) {
|
||||
if (header->value.length >= TmpBufSize) {
|
||||
free(TmpBuf);
|
||||
TmpBuf = (char *)malloc(header->value.length + 1);
|
||||
TmpBufSize = header->value.length + 1;
|
||||
TmpBuf = (char *)malloc(TmpBufSize);
|
||||
if (!TmpBuf)
|
||||
return UPNP_E_OUTOF_MEMORY;
|
||||
return HTTP_INTERNAL_SERVER_ERROR;
|
||||
}
|
||||
memcpy(TmpBuf, header->value.buf, header->value.length);
|
||||
TmpBuf[header->value.length] = '\0';
|
||||
@@ -908,8 +954,14 @@ static int CheckOtherHTTPHeaders(
|
||||
}
|
||||
break;
|
||||
case HDR_ACCEPT_LANGUAGE:
|
||||
memcpy(RespInstr->AcceptLanguageHeader, TmpBuf,
|
||||
sizeof(RespInstr->AcceptLanguageHeader) - 1);
|
||||
if (header->value.length + 1 > sizeof(RespInstr->AcceptLanguageHeader)) {
|
||||
size_t length = sizeof(RespInstr->AcceptLanguageHeader) - 1;
|
||||
memcpy(RespInstr->AcceptLanguageHeader, TmpBuf, length);
|
||||
RespInstr->AcceptLanguageHeader[length] = '\0';
|
||||
} else {
|
||||
memcpy(RespInstr->AcceptLanguageHeader, TmpBuf,
|
||||
header->value.length + 1);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
/*
|
||||
@@ -961,8 +1013,11 @@ static int CheckOtherHTTPHeaders(
|
||||
*
|
||||
* \return
|
||||
* \li \c HTTP_BAD_REQUEST
|
||||
* \li \c UPNP_E_OUTOF_MEMORY
|
||||
* \li \c HTTP_INTERNAL_SERVER_ERROR
|
||||
* \li \c HTTP_REQUEST_RANGE_NOT_SATISFIABLE
|
||||
* \li \c HTTP_FORBIDDEN
|
||||
* \li \c HTTP_NOT_FOUND
|
||||
* \li \c HTTP_NOT_ACCEPTABLE
|
||||
* \li \c HTTP_OK
|
||||
*/
|
||||
static int process_request(
|
||||
@@ -1001,6 +1056,7 @@ static int process_request(
|
||||
req->method == HTTPMETHOD_POST ||
|
||||
req->method == HTTPMETHOD_SIMPLEGET);
|
||||
/* init */
|
||||
memset(&finfo, 0, sizeof(finfo));
|
||||
request_doc = NULL;
|
||||
finfo.content_type = NULL;
|
||||
alias_grabbed = FALSE;
|
||||
@@ -1148,14 +1204,15 @@ static int process_request(
|
||||
}
|
||||
RespInstr->ReadSendSize = finfo.file_length;
|
||||
/* Check other header field. */
|
||||
if ((err_code =
|
||||
if ((code =
|
||||
CheckOtherHTTPHeaders(req, RespInstr,
|
||||
finfo.file_length)) != HTTP_OK) {
|
||||
err_code = code;
|
||||
goto error_handler;
|
||||
}
|
||||
if (req->method == HTTPMETHOD_POST) {
|
||||
*rtype = RESP_POST;
|
||||
err_code = UPNP_E_SUCCESS;
|
||||
err_code = HTTP_OK;
|
||||
goto error_handler;
|
||||
}
|
||||
/*extra_headers = UpnpFileInfo_get_ExtraHeaders(finfo); */
|
||||
@@ -1193,7 +1250,6 @@ static int process_request(
|
||||
}
|
||||
} else if (RespInstr->IsRangeActive && !RespInstr->IsChunkActive) {
|
||||
/* Content-Range: bytes 222-3333/4000 HTTP_PARTIAL_CONTENT */
|
||||
/* Transfer-Encoding: chunked */
|
||||
if (http_MakeMessage(headers, resp_major, resp_minor,
|
||||
"R" "N" "T" "GLD" "s" "tcS" "Xc" "sCc",
|
||||
HTTP_PARTIAL_CONTENT, /* status code */
|
||||
@@ -1207,7 +1263,6 @@ static int process_request(
|
||||
goto error_handler;
|
||||
}
|
||||
} else if (!RespInstr->IsRangeActive && RespInstr->IsChunkActive) {
|
||||
/* Content-Range: bytes 222-3333/4000 HTTP_PARTIAL_CONTENT */
|
||||
/* Transfer-Encoding: chunked */
|
||||
if (http_MakeMessage(headers, resp_major, resp_minor,
|
||||
"RK" "TLD" "s" "tcS" "Xc" "sCc",
|
||||
@@ -1222,8 +1277,6 @@ static int process_request(
|
||||
} else {
|
||||
/* !RespInstr->IsRangeActive && !RespInstr->IsChunkActive */
|
||||
if (RespInstr->ReadSendSize >= 0) {
|
||||
/* Content-Range: bytes 222-3333/4000 HTTP_PARTIAL_CONTENT */
|
||||
/* Transfer-Encoding: chunked */
|
||||
if (http_MakeMessage(headers, resp_major, resp_minor,
|
||||
"R" "N" "TLD" "s" "tcS" "Xc" "sCc",
|
||||
HTTP_OK, /* status code */
|
||||
@@ -1237,8 +1290,6 @@ static int process_request(
|
||||
goto error_handler;
|
||||
}
|
||||
} else {
|
||||
/* Content-Range: bytes 222-3333/4000 HTTP_PARTIAL_CONTENT */
|
||||
/* Transfer-Encoding: chunked */
|
||||
if (http_MakeMessage(headers, resp_major, resp_minor,
|
||||
"R" "TLD" "s" "tcS" "Xc" "sCc",
|
||||
HTTP_OK, /* status code */
|
||||
@@ -1268,12 +1319,12 @@ static int process_request(
|
||||
if (req->method == HTTPMETHOD_SIMPLEGET) {
|
||||
membuffer_destroy(headers);
|
||||
}
|
||||
err_code = UPNP_E_SUCCESS;
|
||||
err_code = HTTP_OK;
|
||||
|
||||
error_handler:
|
||||
free(request_doc);
|
||||
ixmlFreeDOMString(finfo.content_type);
|
||||
if (err_code != UPNP_E_SUCCESS && alias_grabbed) {
|
||||
if (err_code != HTTP_OK && alias_grabbed) {
|
||||
alias_release(alias);
|
||||
}
|
||||
|
||||
@@ -1286,7 +1337,8 @@ static int process_request(
|
||||
* \return
|
||||
* \li \c HTTP_INTERNAL_SERVER_ERROR
|
||||
* \li \c HTTP_UNAUTHORIZED
|
||||
* \li \c HTTP_REQUEST_RANGE_NOT_SATISFIABLE
|
||||
* \li \c HTTP_BAD_REQUEST
|
||||
* \li \c HTTP_SERVICE_UNAVAILABLE
|
||||
* \li \c HTTP_OK
|
||||
*/
|
||||
static int http_RecvPostMessage(
|
||||
@@ -1308,7 +1360,7 @@ static int http_RecvPostMessage(
|
||||
int ok_on_close = FALSE;
|
||||
size_t entity_offset = 0;
|
||||
int num_read = 0;
|
||||
int ret_code = 0;
|
||||
int ret_code = HTTP_OK;
|
||||
|
||||
if (Instr && Instr->IsVirtualFile) {
|
||||
Fp = (virtualDirCallback.open) (filename, UPNP_WRITE);
|
||||
@@ -1331,8 +1383,8 @@ static int http_RecvPostMessage(
|
||||
&& (status != PARSE_CONTINUE_1)
|
||||
&& (status != PARSE_INCOMPLETE)) {
|
||||
/* error */
|
||||
fclose(Fp);
|
||||
return HTTP_BAD_REQUEST;
|
||||
ret_code = HTTP_BAD_REQUEST;
|
||||
goto ExitFunction;
|
||||
}
|
||||
/* read more if necessary entity */
|
||||
while (entity_offset + Data_Buf_Size > parser->msg.entity.length &&
|
||||
@@ -1340,13 +1392,13 @@ static int http_RecvPostMessage(
|
||||
num_read = sock_read(info, Buf, sizeof(Buf), &Timeout);
|
||||
if (num_read > 0) {
|
||||
/* append data to buffer */
|
||||
ret_code = membuffer_append(&parser->msg.msg,
|
||||
Buf, (size_t)num_read);
|
||||
if (ret_code != 0) {
|
||||
if (membuffer_append(&parser->msg.msg,
|
||||
Buf, (size_t)num_read) != 0) {
|
||||
/* set failure status */
|
||||
parser->http_error_code =
|
||||
HTTP_INTERNAL_SERVER_ERROR;
|
||||
return HTTP_INTERNAL_SERVER_ERROR;
|
||||
ret_code = HTTP_INTERNAL_SERVER_ERROR;
|
||||
goto ExitFunction;
|
||||
}
|
||||
status = parser_parse_entity(parser);
|
||||
if (status == PARSE_INCOMPLETE_ENTITY) {
|
||||
@@ -1355,7 +1407,8 @@ static int http_RecvPostMessage(
|
||||
} else if ((status != PARSE_SUCCESS)
|
||||
&& (status != PARSE_CONTINUE_1)
|
||||
&& (status != PARSE_INCOMPLETE)) {
|
||||
return HTTP_BAD_REQUEST;
|
||||
ret_code = HTTP_BAD_REQUEST;
|
||||
goto ExitFunction;
|
||||
}
|
||||
} else if (num_read == 0) {
|
||||
if (ok_on_close) {
|
||||
@@ -1367,10 +1420,12 @@ static int http_RecvPostMessage(
|
||||
} else {
|
||||
/* partial msg or response */
|
||||
parser->http_error_code = HTTP_BAD_REQUEST;
|
||||
return HTTP_BAD_REQUEST;
|
||||
ret_code = HTTP_BAD_REQUEST;
|
||||
goto ExitFunction;
|
||||
}
|
||||
} else {
|
||||
return num_read;
|
||||
ret_code = HTTP_SERVICE_UNAVAILABLE;
|
||||
goto ExitFunction;
|
||||
}
|
||||
}
|
||||
if ((entity_offset + Data_Buf_Size) > parser->msg.entity.length) {
|
||||
@@ -1381,28 +1436,29 @@ static int http_RecvPostMessage(
|
||||
&parser->msg.msg.buf[parser->entity_start_position + entity_offset],
|
||||
Data_Buf_Size);
|
||||
entity_offset += Data_Buf_Size;
|
||||
if (Instr->IsVirtualFile) {
|
||||
if (Instr && Instr->IsVirtualFile) {
|
||||
int n = virtualDirCallback.write(Fp, Buf, Data_Buf_Size);
|
||||
if (n < 0) {
|
||||
virtualDirCallback.close(Fp);
|
||||
return HTTP_INTERNAL_SERVER_ERROR;
|
||||
ret_code = HTTP_INTERNAL_SERVER_ERROR;
|
||||
goto ExitFunction;
|
||||
}
|
||||
} else {
|
||||
size_t n = fwrite(Buf, 1, Data_Buf_Size, Fp);
|
||||
if (n != Data_Buf_Size) {
|
||||
fclose(Fp);
|
||||
return HTTP_INTERNAL_SERVER_ERROR;
|
||||
ret_code = HTTP_INTERNAL_SERVER_ERROR;
|
||||
goto ExitFunction;
|
||||
}
|
||||
}
|
||||
} while (parser->position != POS_COMPLETE ||
|
||||
entity_offset != parser->msg.entity.length);
|
||||
if (Instr->IsVirtualFile) {
|
||||
ExitFunction:
|
||||
if (Instr && Instr->IsVirtualFile) {
|
||||
virtualDirCallback.close(Fp);
|
||||
} else {
|
||||
fclose(Fp);
|
||||
}
|
||||
|
||||
return HTTP_OK;
|
||||
return ret_code;
|
||||
}
|
||||
|
||||
void web_server_callback(http_parser_t *parser, INOUT http_message_t *req,
|
||||
@@ -1431,7 +1487,7 @@ void web_server_callback(http_parser_t *parser, INOUT http_message_t *req,
|
||||
/*the type of request. */
|
||||
ret = process_request(req, &rtype, &headers, &filename, &xmldoc,
|
||||
&RespInstr);
|
||||
if (ret != UPNP_E_SUCCESS) {
|
||||
if (ret != HTTP_OK) {
|
||||
/* send error code */
|
||||
http_SendStatusResponse(info, ret, req->major_version,
|
||||
req->minor_version);
|
||||
@@ -1473,7 +1529,7 @@ void web_server_callback(http_parser_t *parser, INOUT http_message_t *req,
|
||||
/* Send response. */
|
||||
http_MakeMessage(&headers, 1, 1,
|
||||
"RTLSXcCc",
|
||||
ret, "text/html", X_USER_AGENT);
|
||||
ret, "text/html", &RespInstr, X_USER_AGENT);
|
||||
http_SendMessage(info, &timeout, "b",
|
||||
headers.buf, headers.length);
|
||||
break;
|
||||
@@ -1488,4 +1544,5 @@ void web_server_callback(http_parser_t *parser, INOUT http_message_t *req,
|
||||
membuffer_destroy(&headers);
|
||||
membuffer_destroy(&filename);
|
||||
}
|
||||
#endif /* EXCLUDE_WEB_SERVER */
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
*
|
||||
* Copyright (c) 2000-2003 Intel Corporation
|
||||
* All rights reserved.
|
||||
* Copyright (c) 2012 France Telecom All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
@@ -45,6 +46,10 @@
|
||||
|
||||
#include "unixutil.h" /* for socklen_t, EAFNOSUPPORT */
|
||||
#include "upnp.h"
|
||||
#include "UpnpStdInt.h" /* for ssize_t */
|
||||
|
||||
#include "upnpdebug.h"
|
||||
#include "upnputil.h"
|
||||
|
||||
#include <assert.h>
|
||||
#include <errno.h>
|
||||
@@ -85,13 +90,18 @@ int sock_init_with_ip(SOCKINFO *info, SOCKET sockfd,
|
||||
int sock_destroy(SOCKINFO *info, int ShutdownMethod)
|
||||
{
|
||||
int ret = UPNP_E_SUCCESS;
|
||||
char errorBuffer[ERROR_BUFFER_LEN];
|
||||
|
||||
if (info->socket != -1) {
|
||||
shutdown(info->socket, ShutdownMethod);
|
||||
if (info->socket != INVALID_SOCKET) {
|
||||
if (shutdown(info->socket, ShutdownMethod) == -1) {
|
||||
strerror_r(errno, errorBuffer, ERROR_BUFFER_LEN);
|
||||
UpnpPrintf(UPNP_INFO, HTTP, __FILE__, __LINE__,
|
||||
"Error in shutdown: %s\n", errorBuffer);
|
||||
}
|
||||
if (sock_close(info->socket) == -1) {
|
||||
ret = UPNP_E_SOCKET_ERROR;
|
||||
}
|
||||
info->socket = -1;
|
||||
info->socket = INVALID_SOCKET;
|
||||
}
|
||||
|
||||
return ret;
|
||||
@@ -112,7 +122,7 @@ static int sock_read_write(
|
||||
/*! [out] Buffer to get data to or send data from. */
|
||||
char *buffer,
|
||||
/*! [in] Size of the buffer. */
|
||||
int bufsize,
|
||||
size_t bufsize,
|
||||
/*! [in] timeout value. */
|
||||
int *timeoutSecs,
|
||||
/*! [in] Boolean value specifying read or write option. */
|
||||
@@ -126,8 +136,8 @@ static int sock_read_write(
|
||||
time_t start_time = time(NULL);
|
||||
SOCKET sockfd = info->socket;
|
||||
long bytes_sent = 0;
|
||||
long byte_left = 0;
|
||||
long num_written;
|
||||
size_t byte_left = (size_t)0;
|
||||
ssize_t num_written;
|
||||
|
||||
if (*timeoutSecs < 0)
|
||||
return UPNP_E_TIMEDOUT;
|
||||
@@ -166,14 +176,14 @@ static int sock_read_write(
|
||||
#endif
|
||||
if (bRead) {
|
||||
/* read data. */
|
||||
numBytes = (long)recv(sockfd, buffer, (size_t)bufsize, MSG_NOSIGNAL);
|
||||
numBytes = (long)recv(sockfd, buffer, bufsize, MSG_NOSIGNAL);
|
||||
} else {
|
||||
byte_left = bufsize;
|
||||
bytes_sent = 0;
|
||||
while (byte_left > 0) {
|
||||
while (byte_left != (size_t)0) {
|
||||
/* write data. */
|
||||
num_written = send(sockfd,
|
||||
buffer + bytes_sent, (size_t)byte_left,
|
||||
buffer + bytes_sent, byte_left,
|
||||
MSG_DONTROUTE | MSG_NOSIGNAL);
|
||||
if (num_written == -1) {
|
||||
#ifdef SO_NOSIGPIPE
|
||||
@@ -182,7 +192,7 @@ static int sock_read_write(
|
||||
#endif
|
||||
return (int)num_written;
|
||||
}
|
||||
byte_left = byte_left - num_written;
|
||||
byte_left -= (size_t)num_written;
|
||||
bytes_sent += num_written;
|
||||
}
|
||||
numBytes = bytes_sent;
|
||||
@@ -200,12 +210,12 @@ static int sock_read_write(
|
||||
return (int)numBytes;
|
||||
}
|
||||
|
||||
int sock_read(SOCKINFO *info, char *buffer, int bufsize, int *timeoutSecs)
|
||||
int sock_read(SOCKINFO *info, char *buffer, size_t bufsize, int *timeoutSecs)
|
||||
{
|
||||
return sock_read_write(info, buffer, bufsize, timeoutSecs, TRUE);
|
||||
}
|
||||
|
||||
int sock_write(SOCKINFO *info, const char *buffer, int bufsize, int *timeoutSecs)
|
||||
int sock_write(SOCKINFO *info, const char *buffer, size_t bufsize, int *timeoutSecs)
|
||||
{
|
||||
/* Consciently removing constness. */
|
||||
return sock_read_write(info, (char *)buffer, bufsize, timeoutSecs, FALSE);
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
*
|
||||
* Copyright (c) 2000-2003 Intel Corporation
|
||||
* All rights reserved.
|
||||
* Copyright (c) 2012 France Telecom All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
@@ -43,6 +44,9 @@
|
||||
#include <lwres/netdb.h>
|
||||
#endif
|
||||
#endif
|
||||
#ifdef WIN32
|
||||
#define snprintf _snprintf
|
||||
#endif
|
||||
#include <assert.h>
|
||||
|
||||
|
||||
@@ -65,7 +69,7 @@ static int is_reserved(
|
||||
/*! [in] Char to be matched for RESERVED characters. */
|
||||
char in)
|
||||
{
|
||||
if (strchr(RESERVED, in)) {
|
||||
if (strchr(RESERVED, (int)in)) {
|
||||
return 1;
|
||||
} else {
|
||||
return 0;
|
||||
@@ -83,7 +87,7 @@ int is_mark(
|
||||
/*! [in] Char to be matched for MARKED characters. */
|
||||
char in)
|
||||
{
|
||||
if (strchr(MARK, in)) {
|
||||
if (strchr(MARK, (int)in)) {
|
||||
return 1;
|
||||
} else {
|
||||
return 0;
|
||||
@@ -132,17 +136,17 @@ int replace_escaped(char *in, size_t index, size_t *max)
|
||||
{
|
||||
int tempInt = 0;
|
||||
char tempChar = 0;
|
||||
size_t i = 0;
|
||||
size_t j = 0;
|
||||
size_t i = (size_t)0;
|
||||
size_t j = (size_t)0;
|
||||
|
||||
if (in[index] == '%' && isxdigit(in[index + 1]) && isxdigit(in[index + 2])) {
|
||||
if (in[index] == '%' && isxdigit(in[index + (size_t)1]) && isxdigit(in[index + (size_t)2])) {
|
||||
/* Note the "%2x", makes sure that we convert a maximum of two
|
||||
* characters. */
|
||||
if (sscanf(&in[index + 1], "%2x", &tempInt) != 1) {
|
||||
if (sscanf(&in[index + (size_t)1], "%2x", &tempInt) != 1) {
|
||||
return 0;
|
||||
}
|
||||
tempChar = (char)tempInt;
|
||||
for (i = index + 3, j = index; j < *max; i++, j++) {
|
||||
for (i = index + (size_t)3, j = index; j < *max; i++, j++) {
|
||||
in[j] = tempChar;
|
||||
if (i < *max) {
|
||||
tempChar = in[i];
|
||||
@@ -150,7 +154,7 @@ int replace_escaped(char *in, size_t index, size_t *max)
|
||||
tempChar = 0;
|
||||
}
|
||||
}
|
||||
*max -= 2;
|
||||
*max -= (size_t)2;
|
||||
return 1;
|
||||
} else {
|
||||
return 0;
|
||||
@@ -172,12 +176,12 @@ static size_t parse_uric(
|
||||
/*! [out] Token object where the string of characters is copied. */
|
||||
token *out)
|
||||
{
|
||||
size_t i = 0;
|
||||
size_t i = (size_t)0;
|
||||
|
||||
while (i < max &&
|
||||
(is_unreserved(in[i]) ||
|
||||
is_reserved(in[i]) ||
|
||||
((i + 2 < max) && is_escaped(&in[i])))) {
|
||||
((i + (size_t)2 < max) && is_escaped(&in[i])))) {
|
||||
i++;
|
||||
}
|
||||
|
||||
@@ -209,12 +213,12 @@ static void copy_token(
|
||||
|
||||
int copy_URL_list(URL_list *in, URL_list *out)
|
||||
{
|
||||
size_t len = strlen(in->URLs) + 1;
|
||||
size_t i = 0;
|
||||
size_t len = strlen(in->URLs) + (size_t)1;
|
||||
size_t i = (size_t)0;
|
||||
|
||||
out->URLs = NULL;
|
||||
out->parsedURLs = NULL;
|
||||
out->size = 0;
|
||||
out->size = (size_t)0;
|
||||
|
||||
out->URLs = malloc(len);
|
||||
out->parsedURLs = malloc(sizeof(uri_type) * in->size);
|
||||
@@ -222,7 +226,7 @@ int copy_URL_list(URL_list *in, URL_list *out)
|
||||
if ( !out->URLs || !out->parsedURLs)
|
||||
return UPNP_E_OUTOF_MEMORY;
|
||||
memcpy(out->URLs, in->URLs, len);
|
||||
for( i = 0; i < in->size; i++ ) {
|
||||
for( i = (size_t)0; i < in->size; i++ ) {
|
||||
/*copy the parsed uri */
|
||||
out->parsedURLs[i].type = in->parsedURLs[i].type;
|
||||
copy_token( &in->parsedURLs[i].scheme, in->URLs,
|
||||
@@ -253,7 +257,7 @@ void free_URL_list(URL_list *list)
|
||||
if (list->parsedURLs) {
|
||||
free(list->parsedURLs);
|
||||
}
|
||||
list->size = 0;
|
||||
list->size = (size_t)0;
|
||||
}
|
||||
|
||||
|
||||
@@ -309,9 +313,18 @@ int token_cmp(token *in1, token *in2)
|
||||
return memcmp(in1->buff, in2->buff, in1->size);
|
||||
}
|
||||
|
||||
int parse_hostport(
|
||||
/*!
|
||||
* \brief Parses a string representing a host and port (e.g. "127.127.0.1:80"
|
||||
* or "localhost") and fills out a hostport_type struct with internet address
|
||||
* and a token representing the full host and port.
|
||||
*
|
||||
* Uses gethostbyname.
|
||||
*/
|
||||
static int parse_hostport(
|
||||
/*! [in] String of characters representing host and port. */
|
||||
const char *in,
|
||||
size_t max,
|
||||
/*! [out] Output parameter where the host and port are represented as
|
||||
* an internet address. */
|
||||
hostport_type *out)
|
||||
{
|
||||
char workbuf[256];
|
||||
@@ -328,8 +341,9 @@ int parse_hostport(
|
||||
int ret;
|
||||
|
||||
memset(out, 0, sizeof(hostport_type));
|
||||
memset(workbuf, 0, sizeof(workbuf));
|
||||
/* Work on a copy of the input string. */
|
||||
strncpy(workbuf, in, sizeof(workbuf));
|
||||
strncpy(workbuf, in, sizeof(workbuf) - 1);
|
||||
c = workbuf;
|
||||
if (*c == '[') {
|
||||
/* IPv6 addresses are enclosed in square brackets. */
|
||||
@@ -374,15 +388,17 @@ int parse_hostport(
|
||||
ret = getaddrinfo(srvname, NULL, &hints, &res0);
|
||||
if (ret == 0) {
|
||||
for (res = res0; res; res = res->ai_next) {
|
||||
if (res->ai_family == AF_INET ||
|
||||
res->ai_family == AF_INET6) {
|
||||
switch (res->ai_family) {
|
||||
case AF_INET:
|
||||
case AF_INET6:
|
||||
/* Found a valid IPv4 or IPv6 address. */
|
||||
memcpy(&out->IPaddress,
|
||||
res->ai_addr,
|
||||
res->ai_addrlen);
|
||||
break;
|
||||
goto found;
|
||||
}
|
||||
}
|
||||
found:
|
||||
freeaddrinfo(res0);
|
||||
if (res == NULL)
|
||||
/* Didn't find an AF_INET or AF_INET6 address. */
|
||||
@@ -404,24 +420,27 @@ int parse_hostport(
|
||||
return UPNP_E_INVALID_URL;
|
||||
} else
|
||||
/* Port was not specified, use default port. */
|
||||
port = 80;
|
||||
port = 80u;
|
||||
/* The length of the host and port string can be calculated by */
|
||||
/* subtracting pointers. */
|
||||
hostport_size = (size_t)(c - workbuf);
|
||||
hostport_size = (size_t)c - (size_t)workbuf;
|
||||
/* Fill in the 'out' information. */
|
||||
if (af == AF_INET) {
|
||||
sai4->sin_family = AF_INET;
|
||||
switch (af) {
|
||||
case AF_INET:
|
||||
sai4->sin_family = (sa_family_t)af;
|
||||
sai4->sin_port = htons(port);
|
||||
ret = inet_pton(AF_INET, srvname, &sai4->sin_addr);
|
||||
} else if (af == AF_INET6) {
|
||||
sai6->sin6_family = AF_INET6;
|
||||
break;
|
||||
case AF_INET6:
|
||||
sai6->sin6_family = (sa_family_t)af;
|
||||
sai6->sin6_port = htons(port);
|
||||
sai6->sin6_scope_id = gIF_INDEX;
|
||||
ret = inet_pton(AF_INET6, srvname, &sai6->sin6_addr);
|
||||
} else {
|
||||
break;
|
||||
default:
|
||||
/* IP address was set by the hostname (getaddrinfo). */
|
||||
/* Override port: */
|
||||
if (out->IPaddress.ss_family == AF_INET)
|
||||
if (out->IPaddress.ss_family == (sa_family_t)AF_INET)
|
||||
sai4->sin_port = htons(port);
|
||||
else
|
||||
sai6->sin6_port = htons(port);
|
||||
@@ -434,7 +453,6 @@ int parse_hostport(
|
||||
out->text.buff = in;
|
||||
|
||||
return (int)hostport_size;
|
||||
max = max;
|
||||
}
|
||||
|
||||
/*!
|
||||
@@ -455,19 +473,19 @@ static size_t parse_scheme(
|
||||
/*! [out] Output parameter whose buffer is filled in with the scheme. */
|
||||
token *out)
|
||||
{
|
||||
size_t i = 0;
|
||||
size_t i = (size_t)0;
|
||||
|
||||
out->size = 0;
|
||||
out->size = (size_t)0;
|
||||
out->buff = NULL;
|
||||
|
||||
if( ( max == 0 ) || ( !isalpha( in[0] ) ) )
|
||||
return 0;
|
||||
if( ( max == (size_t)0 ) || ( !isalpha( in[0] ) ) )
|
||||
return (size_t)0;
|
||||
|
||||
i++;
|
||||
while( ( i < max ) && ( in[i] != ':' ) ) {
|
||||
if( !( isalnum( in[i] ) || ( in[i] == '+' ) || ( in[i] == '-' )
|
||||
|| ( in[i] == '.' ) ) )
|
||||
return 0;
|
||||
return (size_t)0;
|
||||
i++;
|
||||
}
|
||||
if( i < max ) {
|
||||
@@ -476,15 +494,15 @@ static size_t parse_scheme(
|
||||
return i;
|
||||
}
|
||||
|
||||
return 0;
|
||||
return (size_t)0;
|
||||
}
|
||||
|
||||
|
||||
int remove_escaped_chars(INOUT char *in, INOUT size_t *size)
|
||||
{
|
||||
size_t i = 0;
|
||||
size_t i = (size_t)0;
|
||||
|
||||
for (i = 0; i < *size; i++) {
|
||||
for (i = (size_t)0; i < *size; i++) {
|
||||
replace_escaped(in, i, size);
|
||||
}
|
||||
|
||||
@@ -492,68 +510,81 @@ int remove_escaped_chars(INOUT char *in, INOUT size_t *size)
|
||||
}
|
||||
|
||||
|
||||
int remove_dots(char *in, size_t size)
|
||||
static UPNP_INLINE int is_end_path(char c) {
|
||||
switch (c) {
|
||||
case '?':
|
||||
case '#':
|
||||
case '\0':
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
/* This function directly implements the "Remove Dot Segments"
|
||||
* algorithm described in RFC 3986 section 5.2.4. */
|
||||
int remove_dots(char *buf, size_t size)
|
||||
{
|
||||
char *copyTo = in;
|
||||
char *copyFrom = in;
|
||||
char *max = in + size;
|
||||
char **Segments = NULL;
|
||||
int lastSegment = -1;
|
||||
char *in = buf;
|
||||
char *out = buf;
|
||||
char *max = buf + size;
|
||||
|
||||
Segments = malloc( sizeof( char * ) * size );
|
||||
while (!is_end_path(in[0])) {
|
||||
assert (buf <= out);
|
||||
assert (out <= in);
|
||||
assert (in < max);
|
||||
|
||||
if( Segments == NULL )
|
||||
return UPNP_E_OUTOF_MEMORY;
|
||||
|
||||
Segments[0] = NULL;
|
||||
UpnpPrintf( UPNP_ALL, API, __FILE__, __LINE__,
|
||||
"REMOVE_DOTS: before: %s\n", in );
|
||||
while( ( copyFrom < max ) && ( *copyFrom != '?' )
|
||||
&& ( *copyFrom != '#' ) ) {
|
||||
|
||||
if( ( ( *copyFrom ) == '.' )
|
||||
&& ( ( copyFrom == in ) || ( *( copyFrom - 1 ) == '/' ) ) ) {
|
||||
if( ( copyFrom + 1 == max )
|
||||
|| ( *( copyFrom + 1 ) == '/' ) ) {
|
||||
|
||||
copyFrom += 2;
|
||||
continue;
|
||||
} else if( ( *( copyFrom + 1 ) == '.' )
|
||||
&& ( ( copyFrom + 2 == max )
|
||||
|| ( *( copyFrom + 2 ) == '/' ) ) ) {
|
||||
copyFrom += 3;
|
||||
|
||||
if( lastSegment > 0 ) {
|
||||
copyTo = Segments[--lastSegment];
|
||||
} else {
|
||||
free( Segments );
|
||||
/*TRACE("ERROR RESOLVING URL, ../ at ROOT"); */
|
||||
return UPNP_E_INVALID_URL;
|
||||
}
|
||||
continue;
|
||||
/* case 2.A: */
|
||||
if (strncmp(in, "./", 2) == 0) {
|
||||
in += 2;
|
||||
} else if (strncmp(in, "../", 3) == 0) {
|
||||
in += 3;
|
||||
/* case 2.B: */
|
||||
} else if (strncmp(in, "/./", 3) == 0) {
|
||||
in += 2;
|
||||
} else if (strncmp(in, "/.", 2) == 0 && is_end_path(in[2])) {
|
||||
in += 1;
|
||||
in[0] = '/';
|
||||
/* case 2.C: */
|
||||
} else if (strncmp(in, "/../", 4) == 0 || (strncmp(in, "/..", 3) == 0 && is_end_path(in[3]))) {
|
||||
/* Make the next character in the input buffer a '/': */
|
||||
if (is_end_path(in[3])) { /* terminating "/.." case */
|
||||
in += 2;
|
||||
in[0] = '/';
|
||||
} else { /* "/../" prefix case */
|
||||
in += 3;
|
||||
}
|
||||
}
|
||||
|
||||
if( ( *copyFrom ) == '/' ) {
|
||||
|
||||
lastSegment++;
|
||||
Segments[lastSegment] = copyTo + 1;
|
||||
}
|
||||
( *copyTo ) = ( *copyFrom );
|
||||
copyTo++;
|
||||
copyFrom++;
|
||||
}
|
||||
if( copyFrom < max ) {
|
||||
while( copyFrom < max ) {
|
||||
( *copyTo ) = ( *copyFrom );
|
||||
copyTo++;
|
||||
copyFrom++;
|
||||
/* Trim the last component from the output buffer, or empty it. */
|
||||
while (buf < out)
|
||||
if (*--out == '/')
|
||||
break;
|
||||
#ifdef DEBUG
|
||||
if (out < in)
|
||||
out[0] = '\0';
|
||||
#endif
|
||||
/* case 2.D: */
|
||||
} else if (strncmp(in, ".", 1) == 0 && is_end_path(in[1])) {
|
||||
in += 1;
|
||||
} else if (strncmp(in, "..", 2) == 0 && is_end_path(in[2])) {
|
||||
in += 2;
|
||||
/* case 2.E */
|
||||
} else {
|
||||
/* move initial '/' character (if any) */
|
||||
if (in[0] == '/')
|
||||
*out++ = *in++;
|
||||
/* move first segment up to, but not including, the next '/' character */
|
||||
while (in < max && in[0] != '/' && !is_end_path(in[0]))
|
||||
*out++ = *in++;
|
||||
#ifdef DEBUG
|
||||
if (out < in)
|
||||
out[0] = '\0';
|
||||
#endif
|
||||
}
|
||||
}
|
||||
( *copyTo ) = 0;
|
||||
free( Segments );
|
||||
UpnpPrintf( UPNP_ALL, API, __FILE__, __LINE__,
|
||||
"REMOVE_DOTS: after: %s\n", in );
|
||||
while (in < max)
|
||||
*out++ = *in++;
|
||||
if (out < max)
|
||||
out[0] = '\0';
|
||||
return UPNP_E_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -562,117 +593,121 @@ char *resolve_rel_url(char *base_url, char *rel_url)
|
||||
{
|
||||
uri_type base;
|
||||
uri_type rel;
|
||||
char temp_path = '/';
|
||||
int rv;
|
||||
|
||||
size_t i = 0;
|
||||
char *finger = NULL;
|
||||
|
||||
char *last_slash = NULL;
|
||||
|
||||
char *out = NULL;
|
||||
char *out_finger = NULL;
|
||||
|
||||
if( base_url && rel_url ) {
|
||||
out =
|
||||
( char * )malloc( strlen( base_url ) + strlen( rel_url ) + 2 );
|
||||
out_finger = out;
|
||||
} else {
|
||||
if( rel_url )
|
||||
return strdup( rel_url );
|
||||
else
|
||||
if (!base_url) {
|
||||
if (!rel_url)
|
||||
return NULL;
|
||||
return strdup(rel_url);
|
||||
}
|
||||
|
||||
if( out == NULL ) {
|
||||
size_t len_rel = strlen(rel_url);
|
||||
if (parse_uri(rel_url, len_rel, &rel) != HTTP_SUCCESS)
|
||||
return NULL;
|
||||
if (rel.type == (enum uriType)ABSOLUTE)
|
||||
return strdup(rel_url);
|
||||
|
||||
size_t len_base = strlen(base_url);
|
||||
if ((parse_uri(base_url, len_base, &base) != HTTP_SUCCESS)
|
||||
|| (base.type != (enum uriType)ABSOLUTE))
|
||||
return NULL;
|
||||
if (len_rel == (size_t)0)
|
||||
return strdup(base_url);
|
||||
|
||||
size_t len = len_base + len_rel + (size_t)2;
|
||||
char *out = (char *)malloc(len);
|
||||
if (out == NULL)
|
||||
return NULL;
|
||||
memset(out, 0, len);
|
||||
char *out_finger = out;
|
||||
|
||||
/* scheme */
|
||||
rv = snprintf(out_finger, len, "%.*s:", (int)base.scheme.size, base.scheme.buff);
|
||||
if (rv < 0 || rv >= len)
|
||||
goto error;
|
||||
out_finger += rv;
|
||||
len -= rv;
|
||||
|
||||
/* authority */
|
||||
if (rel.hostport.text.size > (size_t)0) {
|
||||
rv = snprintf(out_finger, len, "%s", rel_url);
|
||||
if (rv < 0 || rv >= len)
|
||||
goto error;
|
||||
return out;
|
||||
}
|
||||
if (base.hostport.text.size > (size_t)0) {
|
||||
rv = snprintf(out_finger, len, "//%.*s", (int)base.hostport.text.size, base.hostport.text.buff);
|
||||
if (rv < 0 || rv >= len)
|
||||
goto error;
|
||||
out_finger += rv;
|
||||
len -= rv;
|
||||
}
|
||||
|
||||
if( ( parse_uri( rel_url, strlen( rel_url ), &rel ) ) == HTTP_SUCCESS ) {
|
||||
|
||||
if( rel.type == ABSOLUTE ) {
|
||||
|
||||
strcpy( out, rel_url );
|
||||
} else {
|
||||
|
||||
if( ( parse_uri( base_url, strlen( base_url ), &base ) ==
|
||||
HTTP_SUCCESS )
|
||||
&& ( base.type == ABSOLUTE ) ) {
|
||||
|
||||
if( strlen( rel_url ) == 0 ) {
|
||||
strcpy( out, base_url );
|
||||
} else {
|
||||
memcpy( out, base.scheme.buff, base.scheme.size );
|
||||
out_finger += base.scheme.size;
|
||||
( *out_finger ) = ':';
|
||||
out_finger++;
|
||||
|
||||
if( rel.hostport.text.size > 0 ) {
|
||||
sprintf( out_finger, "%s", rel_url );
|
||||
} else {
|
||||
if( base.hostport.text.size > 0 ) {
|
||||
memcpy( out_finger, "//", 2 );
|
||||
out_finger += 2;
|
||||
memcpy( out_finger, base.hostport.text.buff,
|
||||
base.hostport.text.size );
|
||||
out_finger += base.hostport.text.size;
|
||||
}
|
||||
|
||||
if( rel.path_type == ABS_PATH ) {
|
||||
strcpy( out_finger, rel_url );
|
||||
|
||||
} else {
|
||||
|
||||
if( base.pathquery.size == 0 ) {
|
||||
base.pathquery.size = 1;
|
||||
base.pathquery.buff = &temp_path;
|
||||
}
|
||||
|
||||
finger = out_finger;
|
||||
last_slash = finger;
|
||||
i = 0;
|
||||
while( ( i < base.pathquery.size ) &&
|
||||
( base.pathquery.buff[i] != '?' ) ) {
|
||||
( *finger ) = base.pathquery.buff[i];
|
||||
if( base.pathquery.buff[i] == '/' )
|
||||
last_slash = finger + 1;
|
||||
i++;
|
||||
finger++;
|
||||
|
||||
}
|
||||
strcpy( last_slash, rel_url );
|
||||
if( remove_dots( out_finger,
|
||||
strlen( out_finger ) ) !=
|
||||
UPNP_E_SUCCESS ) {
|
||||
free(out);
|
||||
/* free(rel_url); */
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
} else {
|
||||
free(out);
|
||||
/* free(rel_url); */
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
/* path */
|
||||
char *path = out_finger;
|
||||
if (rel.path_type == (enum pathType)ABS_PATH) {
|
||||
rv = snprintf(out_finger, len, "%s", rel_url);
|
||||
} else if (base.pathquery.size == (size_t)0) {
|
||||
rv = snprintf(out_finger, len, "/%s", rel_url);
|
||||
} else {
|
||||
free(out);
|
||||
/* free(rel_url); */
|
||||
return NULL;
|
||||
}
|
||||
if (rel.pathquery.size == (size_t)0) {
|
||||
rv = snprintf(out_finger, len, "%.*s", (int)base.pathquery.size, base.pathquery.buff);
|
||||
} else {
|
||||
if (len < base.pathquery.size)
|
||||
goto error;
|
||||
size_t i = (size_t)0, prefix = (size_t)1;
|
||||
while (i < base.pathquery.size) {
|
||||
out_finger[i] = base.pathquery.buff[i];
|
||||
switch (base.pathquery.buff[i++]) {
|
||||
case '/':
|
||||
prefix = i;
|
||||
/* fall-through */
|
||||
default:
|
||||
continue;
|
||||
case '?': /* query */
|
||||
if (rel.pathquery.buff[0] == '?')
|
||||
prefix = --i;
|
||||
}
|
||||
break;
|
||||
}
|
||||
out_finger += prefix;
|
||||
len -= prefix;
|
||||
rv = snprintf(out_finger, len, "%.*s", (int)rel.pathquery.size, rel.pathquery.buff);
|
||||
}
|
||||
if (rv < 0 || rv >= len)
|
||||
goto error;
|
||||
out_finger += rv;
|
||||
len -= rv;
|
||||
|
||||
/* fragment */
|
||||
if (rel.fragment.size > (size_t)0)
|
||||
rv = snprintf(out_finger, len, "#%.*s", (int)rel.fragment.size, rel.fragment.buff);
|
||||
else if (base.fragment.size > (size_t)0)
|
||||
rv = snprintf(out_finger, len, "#%.*s", (int)base.fragment.size, base.fragment.buff);
|
||||
else
|
||||
rv = 0;
|
||||
}
|
||||
if (rv < 0 || rv >= len)
|
||||
goto error;
|
||||
out_finger += rv;
|
||||
len -= rv;
|
||||
|
||||
if (remove_dots(path, out_finger - path) != UPNP_E_SUCCESS)
|
||||
goto error;
|
||||
|
||||
/* free(rel_url); */
|
||||
return out;
|
||||
|
||||
error:
|
||||
free(out);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
int parse_uri(const char *in, size_t max, uri_type *out)
|
||||
{
|
||||
int begin_path = 0;
|
||||
size_t begin_hostport = 0;
|
||||
size_t begin_fragment = 0;
|
||||
size_t begin_hostport = (size_t)0;
|
||||
size_t begin_fragment = (size_t)0;
|
||||
|
||||
begin_hostport = parse_scheme(in, max, &out->scheme);
|
||||
if (begin_hostport) {
|
||||
@@ -683,12 +718,11 @@ int parse_uri(const char *in, size_t max, uri_type *out)
|
||||
out->type = RELATIVE;
|
||||
out->path_type = REL_PATH;
|
||||
}
|
||||
if (begin_hostport + 1 < max &&
|
||||
if (begin_hostport + (size_t)1 < max &&
|
||||
in[begin_hostport] == '/' &&
|
||||
in[begin_hostport + 1] == '/') {
|
||||
begin_hostport += 2;
|
||||
in[begin_hostport + (size_t)1] == '/') {
|
||||
begin_hostport += (size_t)2;
|
||||
begin_path = parse_hostport(&in[begin_hostport],
|
||||
max - begin_hostport,
|
||||
&out->hostport);
|
||||
if (begin_path >= 0) {
|
||||
begin_path += (int)begin_hostport;
|
||||
@@ -710,7 +744,7 @@ int parse_uri(const char *in, size_t max, uri_type *out)
|
||||
&out->fragment);
|
||||
} else {
|
||||
out->fragment.buff = NULL;
|
||||
out->fragment.size = 0;
|
||||
out->fragment.size = (size_t)0;
|
||||
}
|
||||
|
||||
return HTTP_SUCCESS;
|
||||
@@ -724,10 +758,10 @@ int parse_uri_and_unescape(char *in, size_t max, uri_type *out)
|
||||
return ret;
|
||||
}
|
||||
|
||||
if (out->pathquery.size > 0) {
|
||||
if (out->pathquery.size > (size_t)0) {
|
||||
remove_escaped_chars((char *)out->pathquery.buff, &out->pathquery.size);
|
||||
}
|
||||
if (out->fragment.size > 0) {
|
||||
if (out->fragment.size > (size_t)0) {
|
||||
remove_escaped_chars((char *)out->fragment.buff, &out->fragment.size);
|
||||
}
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
*
|
||||
* Copyright (c) 2000-2003 Intel Corporation
|
||||
* All rights reserved.
|
||||
* Copyright (c) 2012 France Telecom All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
@@ -42,6 +43,7 @@
|
||||
|
||||
#ifdef INCLUDE_DEVICE_APIS
|
||||
|
||||
#if EXCLUDE_GENA == 0
|
||||
/************************************************************************
|
||||
* Function : copy_subscription
|
||||
*
|
||||
@@ -299,15 +301,16 @@ FindServiceEventURLPath( service_table * table,
|
||||
|
||||
if( ( table )
|
||||
&&
|
||||
( parse_uri
|
||||
( eventURLPath, strlen( eventURLPath ), &parsed_url_in ) ) ) {
|
||||
( parse_uri( eventURLPath,
|
||||
strlen( eventURLPath ),
|
||||
&parsed_url_in ) == HTTP_SUCCESS ) ) {
|
||||
|
||||
finger = table->serviceList;
|
||||
while( finger ) {
|
||||
if( finger->eventURL )
|
||||
if( ( parse_uri
|
||||
( finger->eventURL, strlen( finger->eventURL ),
|
||||
&parsed_url ) ) ) {
|
||||
&parsed_url ) == HTTP_SUCCESS ) ) {
|
||||
|
||||
if( !token_cmp
|
||||
( &parsed_url.pathquery,
|
||||
@@ -321,6 +324,7 @@ FindServiceEventURLPath( service_table * table,
|
||||
|
||||
return NULL;
|
||||
}
|
||||
#endif /* EXCLUDE_GENA */
|
||||
|
||||
/************************************************************************
|
||||
* Function : FindServiceControlURLPath
|
||||
@@ -338,6 +342,7 @@ FindServiceEventURLPath( service_table * table,
|
||||
*
|
||||
* Note :
|
||||
************************************************************************/
|
||||
#if EXCLUDE_SOAP == 0
|
||||
service_info *
|
||||
FindServiceControlURLPath( service_table * table,
|
||||
const char *controlURLPath )
|
||||
@@ -350,13 +355,13 @@ FindServiceControlURLPath( service_table * table,
|
||||
&&
|
||||
( parse_uri
|
||||
( controlURLPath, strlen( controlURLPath ),
|
||||
&parsed_url_in ) ) ) {
|
||||
&parsed_url_in ) == HTTP_SUCCESS ) ) {
|
||||
finger = table->serviceList;
|
||||
while( finger ) {
|
||||
if( finger->controlURL )
|
||||
if( ( parse_uri
|
||||
( finger->controlURL, strlen( finger->controlURL ),
|
||||
&parsed_url ) ) ) {
|
||||
&parsed_url ) == HTTP_SUCCESS) ) {
|
||||
if( !token_cmp
|
||||
( &parsed_url.pathquery,
|
||||
&parsed_url_in.pathquery ) )
|
||||
@@ -369,6 +374,7 @@ FindServiceControlURLPath( service_table * table,
|
||||
return NULL;
|
||||
|
||||
}
|
||||
#endif /* EXCLUDE_SOAP */
|
||||
|
||||
/************************************************************************
|
||||
* Function : printService
|
||||
@@ -514,6 +520,7 @@ void printServiceTable(
|
||||
printServiceList( table->serviceList, level, module );}
|
||||
#endif
|
||||
|
||||
#if EXCLUDE_GENA == 0
|
||||
/************************************************************************
|
||||
* Function : freeService
|
||||
*
|
||||
@@ -737,8 +744,8 @@ service_info *getServiceList(
|
||||
service_info *current = NULL;
|
||||
service_info *previous = NULL;
|
||||
IXML_NodeList *serviceNodeList = NULL;
|
||||
long unsigned int NumOfServices = 0;
|
||||
long unsigned int i = 0;
|
||||
long unsigned int NumOfServices = 0lu;
|
||||
long unsigned int i = 0lu;
|
||||
int fail = 0;
|
||||
|
||||
if (getSubElement("UDN", node, &UDN) &&
|
||||
@@ -747,7 +754,7 @@ service_info *getServiceList(
|
||||
(IXML_Element *)serviceList, "service");
|
||||
if (serviceNodeList != NULL) {
|
||||
NumOfServices = ixmlNodeList_length(serviceNodeList);
|
||||
for (i = 0; i < NumOfServices; i++) {
|
||||
for (i = 0lu; i < NumOfServices; i++) {
|
||||
current_service =
|
||||
ixmlNodeList_item(serviceNodeList, i);
|
||||
fail = 0;
|
||||
@@ -761,6 +768,7 @@ service_info *getServiceList(
|
||||
}
|
||||
if (!current) {
|
||||
freeServiceList(head);
|
||||
ixmlNodeList_free(serviceNodeList);
|
||||
return NULL;
|
||||
}
|
||||
current->next = NULL;
|
||||
@@ -860,8 +868,8 @@ getAllServiceList( IXML_Node * node,
|
||||
IXML_NodeList *deviceList = NULL;
|
||||
IXML_Node *currentDevice = NULL;
|
||||
|
||||
long unsigned int NumOfDevices = 0;
|
||||
long unsigned int i = 0;
|
||||
long unsigned int NumOfDevices = 0lu;
|
||||
long unsigned int i = 0lu;
|
||||
|
||||
(*out_end) = NULL;
|
||||
|
||||
@@ -869,7 +877,7 @@ getAllServiceList( IXML_Node * node,
|
||||
(IXML_Element *)node, "device");
|
||||
if (deviceList) {
|
||||
NumOfDevices = ixmlNodeList_length(deviceList);
|
||||
for (i = 0; i < NumOfDevices; i++) {
|
||||
for (i = 0lu; i < NumOfDevices; i++) {
|
||||
currentDevice = ixmlNodeList_item(deviceList, i);
|
||||
if (head) {
|
||||
end->next = getServiceList(currentDevice,
|
||||
@@ -912,23 +920,20 @@ removeServiceTable( IXML_Node * node,
|
||||
IXML_Node *currentUDN = NULL;
|
||||
DOMString UDN = NULL;
|
||||
IXML_NodeList *deviceList = NULL;
|
||||
IXML_Node *currentDevice = NULL;
|
||||
service_info *current_service = NULL;
|
||||
service_info *start_search = NULL;
|
||||
service_info *prev_service = NULL;
|
||||
long unsigned int NumOfDevices = 0;
|
||||
long unsigned int i = 0;
|
||||
long unsigned int NumOfDevices = 0lu;
|
||||
long unsigned int i = 0lu;
|
||||
|
||||
if( getSubElement( "root", node, &root ) ) {
|
||||
current_service = in->serviceList;
|
||||
start_search = in->serviceList;
|
||||
deviceList =
|
||||
ixmlElement_getElementsByTagName( ( IXML_Element * ) root,
|
||||
"device" );
|
||||
if( deviceList != NULL ) {
|
||||
NumOfDevices = ixmlNodeList_length( deviceList );
|
||||
for( i = 0; i < NumOfDevices; i++ ) {
|
||||
currentDevice = ixmlNodeList_item( deviceList, i );
|
||||
for( i = 0lu; i < NumOfDevices; i++ ) {
|
||||
if( ( start_search )
|
||||
&& ( ( getSubElement( "UDN", node, ¤tUDN ) )
|
||||
&& ( UDN = getElementValue( currentUDN ) ) ) ) {
|
||||
@@ -939,7 +944,8 @@ removeServiceTable( IXML_Node * node,
|
||||
while( ( current_service )
|
||||
&& ( strcmp( current_service->UDN, UDN ) ) ) {
|
||||
current_service = current_service->next;
|
||||
prev_service = current_service->next;
|
||||
if( current_service != NULL)
|
||||
prev_service = current_service->next;
|
||||
}
|
||||
while( ( current_service )
|
||||
&& ( !strcmp( current_service->UDN, UDN ) ) ) {
|
||||
@@ -954,6 +960,8 @@ removeServiceTable( IXML_Node * node,
|
||||
freeService( current_service );
|
||||
current_service = start_search;
|
||||
}
|
||||
ixmlFreeDOMString( UDN );
|
||||
UDN = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1060,6 +1068,7 @@ getServiceTable( IXML_Node * node,
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif /* EXCLUDE_GENA */
|
||||
|
||||
#endif /* INCLUDE_DEVICE_APIS */
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
*
|
||||
* Copyright (c) 2000-2003 Intel Corporation
|
||||
* All rights reserved.
|
||||
* Copyright (c) 2012 France Telecom All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
@@ -48,7 +49,7 @@ char *str_alloc(const char *str, size_t str_len)
|
||||
{
|
||||
char *s;
|
||||
|
||||
s = (char *)malloc(str_len + 1);
|
||||
s = (char *)malloc(str_len + (size_t)1);
|
||||
if (s == NULL) {
|
||||
return NULL; /* no mem */
|
||||
}
|
||||
@@ -96,8 +97,8 @@ static UPNP_INLINE void membuffer_initialize(
|
||||
membuffer *m)
|
||||
{
|
||||
m->buf = NULL;
|
||||
m->length = 0;
|
||||
m->capacity = 0;
|
||||
m->length = (size_t)0;
|
||||
m->capacity = (size_t)0;
|
||||
}
|
||||
|
||||
int membuffer_set_size(membuffer *m, size_t new_length)
|
||||
@@ -128,14 +129,14 @@ int membuffer_set_size(membuffer *m, size_t new_length)
|
||||
|
||||
assert(alloc_len >= new_length);
|
||||
|
||||
temp_buf = realloc(m->buf, alloc_len + 1); /*LEAK_FIX_MK */
|
||||
temp_buf = realloc(m->buf, alloc_len + (size_t)1); /*LEAK_FIX_MK */
|
||||
|
||||
/*temp_buf = Realloc( m->buf,m->length, alloc_len + 1 );LEAK_FIX_MK */
|
||||
|
||||
if (temp_buf == NULL) {
|
||||
/* try smaller size */
|
||||
alloc_len = new_length;
|
||||
temp_buf = realloc(m->buf, alloc_len + 1); /*LEAK_FIX_MK */
|
||||
temp_buf = realloc(m->buf, alloc_len + (size_t)1); /*LEAK_FIX_MK */
|
||||
/*temp_buf = Realloc( m->buf,m->length, alloc_len + 1 );LEAK_FIX_MK */
|
||||
|
||||
if (temp_buf == NULL) {
|
||||
@@ -250,7 +251,7 @@ void membuffer_delete(membuffer * m, size_t index, size_t num_bytes)
|
||||
if (index + num_bytes > m->length) {
|
||||
num_bytes = m->length - index;
|
||||
/* every thing at and after index purged */
|
||||
copy_len = 0;
|
||||
copy_len = (size_t)0;
|
||||
} else {
|
||||
/* calc num bytes after deleted string */
|
||||
copy_len = m->length - (index + num_bytes);
|
||||
@@ -261,6 +262,8 @@ void membuffer_delete(membuffer * m, size_t index, size_t num_bytes)
|
||||
return_value = membuffer_set_size(m, new_length);
|
||||
/* shrinking should always work */
|
||||
assert(return_value == 0);
|
||||
if (return_value != 0)
|
||||
return;
|
||||
|
||||
/* don't modify until buffer is set */
|
||||
m->length = new_length;
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
*
|
||||
* Copyright (c) 2000-2003 Intel Corporation
|
||||
* All rights reserved.
|
||||
* Copyright (c) 2012 France Telecom All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
@@ -44,14 +45,14 @@
|
||||
|
||||
void linecopy(char dest[LINE_SIZE], const char *src)
|
||||
{
|
||||
strncpy(dest, src, LINE_SIZE - 1);
|
||||
strncpy(dest, src, LINE_SIZE - (size_t)1);
|
||||
/* null-terminate if len(src) >= LINE_SIZE. */
|
||||
dest[LINE_SIZE - 1] = '\0';
|
||||
}
|
||||
|
||||
void namecopy(char dest[NAME_SIZE], const char *src)
|
||||
{
|
||||
strncpy(dest, src, NAME_SIZE - 1);
|
||||
strncpy(dest, src, NAME_SIZE - (size_t)1);
|
||||
/* null-terminate if len(src) >= NAME_SIZE. */
|
||||
dest[NAME_SIZE - 1] = '\0';
|
||||
}
|
||||
@@ -60,7 +61,7 @@ void linecopylen(char dest[LINE_SIZE], const char *src, size_t srclen)
|
||||
{
|
||||
size_t len;
|
||||
|
||||
len = srclen < (LINE_SIZE - 1) ? srclen : (LINE_SIZE - 1);
|
||||
len = srclen < (LINE_SIZE - (size_t)1) ? srclen : (LINE_SIZE - (size_t)1);
|
||||
strncpy(dest, src, len);
|
||||
dest[len] = '\0';
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
*
|
||||
* Copyright (c) 2000-2003 Intel Corporation
|
||||
* All rights reserved.
|
||||
* Copyright (c) 2012 France Telecom All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
@@ -125,7 +126,7 @@
|
||||
*
|
||||
* @{
|
||||
*/
|
||||
#define THREAD_STACK_SIZE 0
|
||||
#define THREAD_STACK_SIZE (size_t)0
|
||||
/* @} */
|
||||
|
||||
|
||||
@@ -178,7 +179,7 @@
|
||||
*
|
||||
* @{
|
||||
*/
|
||||
#define SSDP_PAUSE 100
|
||||
#define SSDP_PAUSE 100u
|
||||
/* @} */
|
||||
|
||||
/*!
|
||||
@@ -189,7 +190,7 @@
|
||||
*
|
||||
* @{
|
||||
*/
|
||||
#define WEB_SERVER_BUF_SIZE (1024*1024)
|
||||
#define WEB_SERVER_BUF_SIZE (size_t)(1024*1024)
|
||||
/* @} */
|
||||
|
||||
/*!
|
||||
@@ -435,11 +436,34 @@
|
||||
#endif
|
||||
|
||||
|
||||
/* configure --enable-webserver --enable-device */
|
||||
/* configure --enable-webserver */
|
||||
#if UPNP_HAVE_WEBSERVER
|
||||
# define INTERNAL_WEB_SERVER 1
|
||||
#endif
|
||||
|
||||
/* configure --enable-ssdp */
|
||||
#undef EXCLUDE_SSDP
|
||||
#if UPNP_HAVE_SSDP
|
||||
# define EXCLUDE_SSDP 0
|
||||
#else
|
||||
# define EXCLUDE_SSDP 1
|
||||
#endif
|
||||
|
||||
/* configure --enable-soap */
|
||||
#undef EXCLUDE_SOAP
|
||||
#if UPNP_HAVE_SOAP
|
||||
# define EXCLUDE_SOAP 0
|
||||
#else
|
||||
# define EXCLUDE_SOAP 1
|
||||
#endif
|
||||
|
||||
/* configure --enable-gena */
|
||||
#undef EXCLUDE_GENA
|
||||
#if UPNP_HAVE_GENA
|
||||
# define EXCLUDE_GENA 0
|
||||
#else
|
||||
# define EXCLUDE_GENA 1
|
||||
#endif
|
||||
|
||||
#undef EXCLUDE_WEB_SERVER
|
||||
#undef EXCLUDE_MINISERVER
|
||||
@@ -452,7 +476,7 @@
|
||||
#endif
|
||||
|
||||
|
||||
#if EXCLUDE_GENA == 1 && EXCLUDE_SOAP == 1 && EXCLUDE_WEB_SERVER == 1
|
||||
#if EXCLUDE_SSDP == 1 && EXCLUDE_GENA == 1 && EXCLUDE_SOAP == 1 && EXCLUDE_WEB_SERVER == 1
|
||||
# undef EXCLUDE_MINISERVER
|
||||
# define EXCLUDE_MINISERVER 1
|
||||
# if INTERNAL_WEB_SERVER
|
||||
@@ -461,7 +485,7 @@
|
||||
#endif
|
||||
|
||||
|
||||
#if EXCLUDE_GENA == 0 || EXCLUDE_SOAP == 0 || EXCLUDE_WEB_SERVER == 0
|
||||
#if EXCLUDE_SSDP == 0 || EXCLUDE_GENA == 0 || EXCLUDE_SOAP == 0 || EXCLUDE_WEB_SERVER == 0
|
||||
# undef EXCLUDE_MINISERVER
|
||||
# define EXCLUDE_MINISERVER 0
|
||||
# if EXCLUDE_WEB_SERVER == 0 && !defined INTERNAL_WEB_SERVER
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
*
|
||||
* Copyright (c) 2000-2003 Intel Corporation
|
||||
* All rights reserved.
|
||||
* Copyright (c) 2012 France Telecom All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
@@ -217,7 +218,7 @@ typedef struct {
|
||||
parser_pos_t position;
|
||||
int ent_position;
|
||||
unsigned int content_length;
|
||||
int chunk_size;
|
||||
size_t chunk_size;
|
||||
/*! offset in the the raw message buffer, which contains the message body.
|
||||
* preceding this are the headers of the messsage. */
|
||||
size_t entity_start_position;
|
||||
@@ -429,7 +430,7 @@ parse_status_t parser_append( INOUT http_parser_t* parser,
|
||||
* PARSE_NO_MATCH -- failure to match pattern 'fmt'
|
||||
* PARSE_FAILURE -- 'str' is bad input
|
||||
************************************************************************/
|
||||
int matchstr( IN char *str, IN size_t slen, IN const char* fmt, ... );
|
||||
parse_status_t matchstr( IN char *str, IN size_t slen, IN const char* fmt, ... );
|
||||
|
||||
/************************************************************************
|
||||
* Function: raw_to_int
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
*
|
||||
* Copyright (c) 2000-2003 Intel Corporation
|
||||
* All rights reserved.
|
||||
* Copyright (c) 2012 France Telecom All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
@@ -45,7 +46,13 @@
|
||||
#define HTTP_DEFAULT_TIMEOUT 30
|
||||
|
||||
#ifdef __cplusplus
|
||||
#extern "C" {
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#ifdef WIN32
|
||||
struct tm *http_gmtime_r(const time_t *clock, struct tm *result);
|
||||
#else
|
||||
#define http_gmtime_r gmtime_r
|
||||
#endif
|
||||
|
||||
int http_CancelHttpGet(IN void *Handle);
|
||||
@@ -558,6 +565,7 @@ int http_OpenHttpGetEx(IN const char *url_str,
|
||||
*
|
||||
* Parameters:
|
||||
* OUT char *info; buffer to store the operating system information
|
||||
* IN size_t infoSize; size of buffer
|
||||
*
|
||||
* Description:
|
||||
* Returns the server information for the operating system
|
||||
@@ -565,7 +573,7 @@ int http_OpenHttpGetEx(IN const char *url_str,
|
||||
* Return:
|
||||
* UPNP_INLINE void
|
||||
************************************************************************/
|
||||
void get_sdk_info( OUT char *info );
|
||||
void get_sdk_info( OUT char *info, IN size_t infoSize );
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* #extern "C" */
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
*
|
||||
* Copyright (c) 2000-2003 Intel Corporation
|
||||
* All rights reserved.
|
||||
* Copyright (c) 2012 France Telecom All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
@@ -62,7 +63,7 @@ typedef struct {
|
||||
/*! used to increase size; MUST be > 0; (read/write). */
|
||||
size_t size_inc;
|
||||
/*! default value of size_inc. */
|
||||
#define MEMBUF_DEF_SIZE_INC 5
|
||||
#define MEMBUF_DEF_SIZE_INC (size_t)5
|
||||
} membuffer;
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
*
|
||||
* Copyright (c) 2000-2003 Intel Corporation
|
||||
* All rights reserved.
|
||||
* Copyright (c) 2012 France Telecom All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
@@ -49,7 +50,7 @@ extern "C" {
|
||||
#include <stdio.h>
|
||||
#include <time.h>
|
||||
|
||||
#define SID_SIZE 41
|
||||
#define SID_SIZE (size_t)41
|
||||
|
||||
#ifdef INCLUDE_DEVICE_APIS
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
*
|
||||
* Copyright (c) 2000-2003 Intel Corporation
|
||||
* All rights reserved.
|
||||
* Copyright (c) 2012 France Telecom All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
@@ -60,7 +61,7 @@ typedef struct
|
||||
} SOCKINFO;
|
||||
|
||||
#ifdef __cplusplus
|
||||
#extern "C" {
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*!
|
||||
@@ -74,7 +75,7 @@ static UPNP_INLINE int sock_close(
|
||||
{
|
||||
int ret = -1;
|
||||
|
||||
if (sock != -1)
|
||||
if (sock != INVALID_SOCKET)
|
||||
ret = UpnpCloseSocket(sock);
|
||||
|
||||
return ret;
|
||||
@@ -143,7 +144,7 @@ int sock_read(
|
||||
/*! [out] Buffer to get data to. */
|
||||
char* buffer,
|
||||
/*! [in] Size of the buffer. */
|
||||
int bufsize,
|
||||
size_t bufsize,
|
||||
/*! [in,out] timeout value. */
|
||||
int *timeoutSecs);
|
||||
|
||||
@@ -161,7 +162,7 @@ int sock_write(
|
||||
/*! [in] Buffer to send data from. */
|
||||
const char *buffer,
|
||||
/*! [in] Size of the buffer. */
|
||||
int bufsize,
|
||||
size_t bufsize,
|
||||
/*! [in,out] timeout value. */
|
||||
int *timeoutSecs);
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
*
|
||||
* Copyright (c) 2000-2003 Intel Corporation
|
||||
* All rights reserved.
|
||||
* Copyright (C) 2011-2012 France Telecom All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
@@ -72,7 +73,7 @@ typedef enum SsdpSearchType {
|
||||
SSDP_SERVICE
|
||||
} SType;
|
||||
|
||||
#define BUFSIZE 2500
|
||||
#define BUFSIZE (size_t)2500
|
||||
#define SSDP_IP "239.255.255.250"
|
||||
#define SSDP_IPV6_LINKLOCAL "FF02::C"
|
||||
#define SSDP_IPV6_SITELOCAL "FF05::C"
|
||||
@@ -353,7 +354,13 @@ int DeviceAdvertisement(
|
||||
/* [in] Service duration in sec. */
|
||||
int Duration,
|
||||
/* [in] Device address family. */
|
||||
int AddressFamily);
|
||||
int AddressFamily,
|
||||
/* [in] PowerState as defined by UPnP Low Power. */
|
||||
int PowerState,
|
||||
/* [in] SleepPeriod as defined by UPnP Low Power. */
|
||||
int SleepPeriod,
|
||||
/* [in] RegistrationState as defined by UPnP Low Power. */
|
||||
int RegistrationState);
|
||||
|
||||
/*!
|
||||
* \brief Creates the reply packet based on the input parameter, and send it
|
||||
@@ -375,7 +382,13 @@ int SendReply(
|
||||
/* [in] Life time of this device. */
|
||||
int Duration,
|
||||
/* [in] . */
|
||||
int ByType );
|
||||
int ByType,
|
||||
/* [in] PowerState as defined by UPnP Low Power. */
|
||||
int PowerState,
|
||||
/* [in] SleepPeriod as defined by UPnP Low Power. */
|
||||
int SleepPeriod,
|
||||
/* [in] RegistrationState as defined by UPnP Low Power. */
|
||||
int RegistrationState);
|
||||
|
||||
/*!
|
||||
* \brief Creates the reply packet based on the input parameter, and send it
|
||||
@@ -395,7 +408,13 @@ int DeviceReply(
|
||||
/* [in] Location of Device description document. */
|
||||
char *Location,
|
||||
/* [in] Life time of this device. */
|
||||
int Duration);
|
||||
int Duration,
|
||||
/* [in] PowerState as defined by UPnP Low Power. */
|
||||
int PowerState,
|
||||
/* [in] SleepPeriod as defined by UPnP Low Power. */
|
||||
int SleepPeriod,
|
||||
/* [in] RegistrationState as defined by UPnP Low Power. */
|
||||
int RegistrationState);
|
||||
|
||||
/*!
|
||||
* \brief Creates the advertisement packet based on the input parameter,
|
||||
@@ -413,7 +432,13 @@ int ServiceAdvertisement(
|
||||
/* [in] Life time of this device. */
|
||||
int Duration,
|
||||
/* [in] Device address family. */
|
||||
int AddressFamily);
|
||||
int AddressFamily,
|
||||
/* [in] PowerState as defined by UPnP Low Power. */
|
||||
int PowerState,
|
||||
/* [in] SleepPeriod as defined by UPnP Low Power. */
|
||||
int SleepPeriod,
|
||||
/* [in] RegistrationState as defined by UPnP Low Power. */
|
||||
int RegistrationState);
|
||||
|
||||
/*!
|
||||
* \brief Creates the advertisement packet based on the input parameter,
|
||||
@@ -431,7 +456,13 @@ int ServiceReply(
|
||||
/* [in] Location of Device description document. */
|
||||
char *Location,
|
||||
/* [in] Life time of this device. */
|
||||
int Duration);
|
||||
int Duration,
|
||||
/* [in] PowerState as defined by UPnP Low Power. */
|
||||
int PowerState,
|
||||
/* [in] SleepPeriod as defined by UPnP Low Power. */
|
||||
int SleepPeriod,
|
||||
/* [in] RegistrationState as defined by UPnP Low Power. */
|
||||
int RegistrationState);
|
||||
|
||||
/*!
|
||||
* \brief Creates a HTTP service shutdown request packet and sends it to the
|
||||
@@ -449,7 +480,13 @@ int ServiceShutdown(
|
||||
/* [in] Service duration in sec. */
|
||||
int Duration,
|
||||
/* [in] Device address family. */
|
||||
int AddressFamily);
|
||||
int AddressFamily,
|
||||
/* [in] PowerState as defined by UPnP Low Power. */
|
||||
int PowerState,
|
||||
/* [in] SleepPeriod as defined by UPnP Low Power. */
|
||||
int SleepPeriod,
|
||||
/* [in] RegistrationState as defined by UPnP Low Power. */
|
||||
int RegistrationState);
|
||||
|
||||
/*!
|
||||
* \brief Creates a HTTP device shutdown request packet and send it to the
|
||||
@@ -464,14 +501,18 @@ int DeviceShutdown(
|
||||
int RootDev,
|
||||
/* [in] Device UDN. */
|
||||
char *Udn,
|
||||
/* [in] . */
|
||||
char *_Server,
|
||||
/* [in] Location URL. */
|
||||
char *Location,
|
||||
/* [in] Device duration in sec. */
|
||||
int Duration,
|
||||
/* [in] Device address family. */
|
||||
int AddressFamily);
|
||||
int AddressFamily,
|
||||
/* [in] PowerState as defined by UPnP Low Power. */
|
||||
int PowerState,
|
||||
/* [in] SleepPeriod as defined by UPnP Low Power. */
|
||||
int SleepPeriod,
|
||||
/* [in] RegistrationState as defined by UPnP Low Power. */
|
||||
int RegistrationState);
|
||||
|
||||
/* @} SSDP Device Functions */
|
||||
|
||||
|
||||
@@ -79,6 +79,10 @@
|
||||
#define HTTP_SERVICE_UNAVAILABLE 503
|
||||
#define HTTP_GATEWAY_TIMEOUT 504
|
||||
#define HTTP_HTTP_VERSION_NOT_SUPPORTED 505
|
||||
#define HTTP_VARIANT_ALSO_NEGOTIATES 506
|
||||
#define HTTP_INSUFFICIENT_STORAGE 507
|
||||
#define HTTP_LOOP_DETECTED 508
|
||||
#define HTTP_NOT_EXTENDED 510
|
||||
|
||||
/* HTTP lib error codes */
|
||||
|
||||
|
||||
@@ -37,8 +37,12 @@
|
||||
#include "UpnpInet.h"
|
||||
|
||||
#ifdef WIN32
|
||||
#include <errno.h>
|
||||
|
||||
typedef int socklen_t;
|
||||
#define EAFNOSUPPORT 97
|
||||
#ifndef EAFNOSUPPORT /* VS2010 has this defined */
|
||||
#define EAFNOSUPPORT 97
|
||||
#endif
|
||||
#else
|
||||
#include <sys/time.h>
|
||||
#include <sys/wait.h>
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
*
|
||||
* Copyright (c) 2000-2003 Intel Corporation
|
||||
* All rights reserved.
|
||||
* Copyright (C) 2011-2012 France Telecom All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
@@ -55,7 +56,7 @@
|
||||
#define DEFAULT_MAXAGE 1800
|
||||
|
||||
#define DEFAULT_SOAP_CONTENT_LENGTH 16000
|
||||
#define MAX_SOAP_CONTENT_LENGTH 32000
|
||||
#define MAX_SOAP_CONTENT_LENGTH (size_t)32000
|
||||
|
||||
extern size_t g_maxContentLength;
|
||||
|
||||
@@ -80,10 +81,19 @@ struct Handle_Info
|
||||
#ifdef INCLUDE_DEVICE_APIS
|
||||
/*! URL for the use of SSDP. */
|
||||
char DescURL[LINE_SIZE];
|
||||
/*! URL for the use of SSDP when answering to legacy CPs (CP searching
|
||||
* for a v1 when the device is v2). */
|
||||
char LowerDescURL[LINE_SIZE];
|
||||
/*! XML file path for device description. */
|
||||
char DescXML[LINE_SIZE];
|
||||
/* Advertisement timeout */
|
||||
int MaxAge;
|
||||
/* Power State as defined by UPnP Low Power. */
|
||||
int PowerState;
|
||||
/* Sleep Period as defined by UPnP Low Power. */
|
||||
int SleepPeriod;
|
||||
/* Registration State as defined by UPnP Low Power. */
|
||||
int RegistrationState;
|
||||
/*! Description parsed in terms of DOM document. */
|
||||
IXML_Document *DescDocument;
|
||||
/*! List of devices in the description document. */
|
||||
@@ -164,7 +174,7 @@ Upnp_Handle_Type GetClientHandleInfo(
|
||||
*/
|
||||
Upnp_Handle_Type GetDeviceHandleInfo(
|
||||
/*! [in] Address family. */
|
||||
const int AddressFamily,
|
||||
int AddressFamily,
|
||||
/*! [out] Device handle pointer. */
|
||||
int *device_handle_out,
|
||||
/*! [out] Device handle structure passed by this function. */
|
||||
@@ -172,10 +182,8 @@ Upnp_Handle_Type GetDeviceHandleInfo(
|
||||
|
||||
|
||||
extern char gIF_NAME[LINE_SIZE];
|
||||
/*! INET_ADDRSTRLEN. */
|
||||
extern char gIF_IPV4[22];
|
||||
/*! INET6_ADDRSTRLEN. */
|
||||
extern char gIF_IPV6[65];
|
||||
extern char gIF_IPV4[INET_ADDRSTRLEN];
|
||||
extern char gIF_IPV6[INET6_ADDRSTRLEN];
|
||||
|
||||
extern char gIF_IPV6_ULA_GUA[INET6_ADDRSTRLEN];
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
*
|
||||
* Copyright (c) 2000-2003 Intel Corporation
|
||||
* All rights reserved.
|
||||
* Copyright (c) 2012 France Telecom All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
@@ -37,6 +38,7 @@
|
||||
*/
|
||||
|
||||
#include "upnp.h"
|
||||
#include <errno.h>
|
||||
|
||||
/* usually used to specify direction of parameters in functions */
|
||||
#ifndef IN
|
||||
@@ -109,10 +111,11 @@ void linecopylen(
|
||||
#endif
|
||||
|
||||
/* Size of the errorBuffer variable, passed to the strerror_r() function */
|
||||
#define ERROR_BUFFER_LEN 256
|
||||
#define ERROR_BUFFER_LEN (size_t)256
|
||||
|
||||
/* C specific */
|
||||
#ifndef __cplusplus
|
||||
/* VC needs these in C++ mode too (do other compilers?) */
|
||||
#if !defined(__cplusplus) || defined(UPNP_USE_MSVCPP)
|
||||
#ifdef WIN32
|
||||
#ifndef S_ISREG
|
||||
#define S_ISREG(m) (((m) & S_IFMT) == S_IFREG)
|
||||
@@ -120,7 +123,9 @@ void linecopylen(
|
||||
#ifndef S_ISDIR
|
||||
#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
|
||||
#endif
|
||||
#define EADDRINUSE WSAEADDRINUSE
|
||||
#ifndef EADDRINUSE /* VS2010 has this defined */
|
||||
#define EADDRINUSE WSAEADDRINUSE
|
||||
#endif
|
||||
#define strcasecmp stricmp
|
||||
#define strncasecmp strnicmp
|
||||
#define sleep(a) Sleep((a)*1000)
|
||||
@@ -130,7 +135,7 @@ void linecopylen(
|
||||
#define max(a, b) (((a)>(b))? (a):(b))
|
||||
#define min(a, b) (((a)<(b))? (a):(b))
|
||||
#endif /* WIN32 */
|
||||
#endif /* __cplusplus */
|
||||
#endif /* !defined(__cplusplus) || defined(UPNP_USE_MSVCPP) */
|
||||
|
||||
#endif /* UTIL_H */
|
||||
|
||||
|
||||
@@ -52,7 +52,10 @@
|
||||
#include <time.h>
|
||||
|
||||
#ifdef WIN32
|
||||
#include "inet_pton.h"
|
||||
#ifndef UPNP_USE_MSVCPP
|
||||
/* VC Winsocks2 includes these functions */
|
||||
#include "inet_pton.h"
|
||||
#endif
|
||||
#else
|
||||
#include <netdb.h> /* for struct addrinfo */
|
||||
#endif
|
||||
@@ -273,22 +276,6 @@ int token_cmp(
|
||||
/*! [in] Second token object used for the comparison. */
|
||||
token *in2);
|
||||
|
||||
/*!
|
||||
* \brief Parses a string representing a host and port (e.g. "127.127.0.1:80"
|
||||
* or "localhost") and fills out a hostport_type struct with internet address
|
||||
* and a token representing the full host and port.
|
||||
*
|
||||
* Uses gethostbyname.
|
||||
*/
|
||||
int parse_hostport(
|
||||
/*! [in] String of characters representing host and port. */
|
||||
const char *in,
|
||||
/*! [in] Sets a maximum limit. */
|
||||
size_t max,
|
||||
/*! [out] Output parameter where the host and port are represented as
|
||||
* an internet address. */
|
||||
hostport_type *out);
|
||||
|
||||
/*!
|
||||
* \brief Removes http escaped characters such as: "%20" and replaces them with
|
||||
* their character representation. i.e. "hello%20foo" -> "hello foo".
|
||||
|
||||
@@ -6,5 +6,8 @@
|
||||
#include "sock.h"
|
||||
#include "soaplib.h"
|
||||
|
||||
const char *ContentTypeHeader =
|
||||
"CONTENT-TYPE: text/xml; charset=\"utf-8\"\r\n";
|
||||
|
||||
#endif /* EXCLUDE_SOAP */
|
||||
|
||||
|
||||
@@ -379,7 +379,7 @@ get_response_value( IN http_message_t * hmsg,
|
||||
char *node_str = NULL;
|
||||
const char *temp_str = NULL;
|
||||
DOMString error_node_str = NULL;
|
||||
int err_code = UPNP_E_BAD_RESPONSE; /* default error */ ;
|
||||
int err_code = UPNP_E_BAD_RESPONSE; /* default error */
|
||||
int done = FALSE;
|
||||
const char *names[5];
|
||||
const DOMString nodeValue;
|
||||
@@ -455,7 +455,7 @@ get_response_value( IN http_message_t * hmsg,
|
||||
if (!temp_str)
|
||||
goto error_handler;
|
||||
*upnp_error_code = atoi(temp_str);
|
||||
if (*upnp_error_code < 400) {
|
||||
if (*upnp_error_code > 400) {
|
||||
err_code = *upnp_error_code;
|
||||
goto error_handler; /* bad SOAP error code */
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user