diff -Nru pupnp-1.8-1.8.3/ChangeLog pupnp-1.8-1.8.4/ChangeLog --- pupnp-1.8-1.8.3/ChangeLog 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/ChangeLog 2018-10-25 14:41:00.000000000 +0000 @@ -1,4 +1,31 @@ ******************************************************************************* +Version 1.8.4 +******************************************************************************* + +2017-11-17 Marcelo Jimenez + + GitHub #57 - 1.8.3 broke ABI without changing SONAME + Opened by jcowgill + + This change in 1.8.3 broke the ABI and therefore the SONAME should have + been changed (ie: age reset to 0): + + EXPORT_SPEC int UpnpAddVirtualDir( + /*! [in] The name of the new directory mapping to add. */ + - const char *dirName); + + const char *dirName, + + /*! [in] The cookie to associated with this virtual directory */ + + const void *cookie, + + /*! [out] The cookie previously associated, if mapping is already present */ + + const void **oldcookie); + + If only the cookie argument was added, you could probably get away with + this because all that would happen is that a garbage value is passed + around without being used. With the addition of oldcookie, any old + programs will not initialise this value and will probably segfault when + libupnp tries to write to it. + +******************************************************************************* Version 1.8.3 ******************************************************************************* diff -Nru pupnp-1.8-1.8.3/configure.ac pupnp-1.8-1.8.4/configure.ac --- pupnp-1.8-1.8.3/configure.ac 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/configure.ac 2018-10-25 14:41:00.000000000 +0000 @@ -9,7 +9,7 @@ AC_PREREQ(2.60) -AC_INIT([libupnp], [1.8.3], [mroberto@users.sourceforge.net]) +AC_INIT([libupnp], [1.8.4], [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: @@ -373,8 +373,22 @@ dnl #AC_SUBST([LT_VERSION_UPNP], [12:0:2]) dnl # dnl ############################################################################ +dnl # Release 1.8.4: +dnl # "current:revision:age" +dnl # +dnl # - Code has changed in upnp +dnl # revision: 0 -> 1 +dnl # - interfaces changed/added/removed: +dnl # current: 12 -> 13, revision 1 -> 0 +dnl # - interfaces removed: +dnl # age: 2 -> 0 +dnl # +dnl #AC_SUBST([LT_VERSION_IXML], [::]) +dnl #AC_SUBST([LT_VERSION_UPNP], [::]) +dnl # +dnl ############################################################################ AC_SUBST([LT_VERSION_IXML], [10:1:0]) -AC_SUBST([LT_VERSION_UPNP], [12:0:2]) +AC_SUBST([LT_VERSION_UPNP], [13:0:0]) dnl ############################################################################ dnl # Repeating the algorithm to place it closer to the modificatin place: dnl # - library code modified: revision++ @@ -416,8 +430,6 @@ AC_DEFINE([UPNP_LARGEFILE_SENSITIVE], 1, [whether the system defaults to 32bit off_t but can do 64bit when requested]) fi -AC_REVISION([$Revision: 1.11 $]) - upnpmaj=`echo "$PACKAGE_VERSION" | sed 's/\..*//' ` upnpmin=[`echo "$PACKAGE_VERSION" | sed 's/^[^.]\.// ; s/[^0-9].*$//' `] upnppatch=[`echo "$PACKAGE_VERSION" | sed 's/^[^.]\.[^.]\.// ; s/[^0-9].*$//' `] @@ -531,39 +543,6 @@ RT_BOOL_ARG_ENABLE([samples], [yes], [compilation of upnp/sample/ code]) - -# -# doc installation -# autoconf >= 2.60 already defines ${docdir}, but we will not use its -# default value, which is ${datarootdir}/doc/${PACKAGE_TARNAME}. -# That would give us ${datarootdir}/doc/libupnp, and we want the package -# version on that. -# -docdir="${datadir}/doc/${PACKAGE_NAME}-${PACKAGE_VERSION}" -AC_MSG_CHECKING([for documentation directory]) -AC_ARG_WITH( - [documentation], - AS_HELP_STRING( - [--with-documentation=directory_name], - [where documentation is installed - @<:@[DATADIR/doc/]AC_PACKAGE_NAME[-]AC_PACKAGE_VERSION@:>@]) -AS_HELP_STRING( - [--without-documentation], - [do not install the documentation]), - [], - [with_documentation=no]) - -# -# If something has been entered after an equal sign, assume it is the directory -# -if test x"$with_documentation" != xyes -a x"$with_documentation" != xno; then - docdir="$with_documentation" -fi -AM_CONDITIONAL(WITH_DOCUMENTATION, test x"$with_documentation" != xno) -AC_SUBST(docdir) -AC_MSG_RESULT($docdir) - - # # Checks for programs # @@ -658,10 +637,6 @@ AC_C_CONST AC_C_BIGENDIAN -# The test for socklen_t was getting it wrong when it exists but is in ws2tcpip.h, -# so we use a new test. -#TYPE_SOCKLEN_T - AC_CHECK_HEADERS([sys/types.h sys/socket.h ws2tcpip.h]) AC_MSG_CHECKING(for socklen_t) AC_COMPILE_IFELSE([AC_LANG_PROGRAM([ @@ -747,7 +722,6 @@ upnp/doc/Makefile upnp/sample/Makefile upnp/unittest/Makefile - docs/dist/Makefile libupnp.pc ]) diff -Nru pupnp-1.8-1.8.3/COPYING pupnp-1.8-1.8.4/COPYING --- pupnp-1.8-1.8.3/COPYING 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/COPYING 2018-10-25 14:41:00.000000000 +0000 @@ -0,0 +1,26 @@ +Copyright (c) 2000-2003 Intel Corporation +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +* Neither name of Intel Corporation nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff -Nru pupnp-1.8-1.8.3/debian/changelog pupnp-1.8-1.8.4/debian/changelog --- pupnp-1.8-1.8.3/debian/changelog 2018-08-13 21:55:50.000000000 +0000 +++ pupnp-1.8-1.8.4/debian/changelog 2019-05-19 20:12:40.000000000 +0000 @@ -1,14 +1,85 @@ -pupnp-1.8 (1:1.8.3-1~ppa1) bionic; urgency=medium +pupnp-1.8 (1:1.8.4-2ubuntu3~ppa1) bionic; urgency=medium - * Update version to force rebuild. + * Backport to bionic - -- Stephen Czetty Mon, 13 Aug 2018 16:55:45 -0600 + -- Stephen Czetty Sun, 19 May 2019 15:12:40 -0500 -pupnp-1.8 (1:1.8.3-1~ppa) bionic; urgency=medium +pupnp-1.8 (1:1.8.4-2ubuntu2) disco; urgency=medium - * Update to 1.8.3 + * Fix autopkgtest for 32-bit archs. + * Fix pkg-config .pc file to always inherit LFS_CFLAGS, since they're + required by the headers anyway. - -- Stephen Czetty Mon, 13 Aug 2018 15:35:34 -0600 + -- Steve Langasek Mon, 12 Nov 2018 10:41:27 -0800 + +pupnp-1.8 (1:1.8.4-2) unstable; urgency=medium + + * Upload to unstable. + + -- James Cowgill Mon, 05 Nov 2018 19:55:05 +0000 + +pupnp-1.8 (1:1.8.4-1) experimental; urgency=medium + + * New upstream release. + * Doxyfile: Revert Debian specific changes to doxygen config. None of + them have any significant benefits. + + * d/changelog: Remove extra whitespace lines. + * d/compat: Use debhelper compat 11. + * d/control: + - d/control: Move Vcs-* repositories to salsa.d.o. + - d/control: Bump standards to 4.2.1. + * d/libupnp-doc.*: + - Move docs to usr/share/doc/libupnp-dev per policy 3.9.7. + * d/rules: + - Revert "Implement build targets manually in debian/rules". Newer + debhelper versions handle this properly. + - d/rules: Create docs/doxygen directory. + + -- James Cowgill Sat, 27 Oct 2018 15:42:13 +0100 + +pupnp-1.8 (1:1.8.3-3) experimental; urgency=medium + + * Rename libupnp1.8-doc to libupnp-doc. + * Fix Build-Depends-Package in symbols files. + * Manually bump SONAME of libupnp to libupnp.so.13. Rename libupnp10 to + libupnp13. (Closes: #882377) + + -- James Cowgill Sat, 23 Dec 2017 11:39:44 +0000 + +pupnp-1.8 (1:1.8.3-2) experimental; urgency=medium + + * debian/control: + - Bump standards version to 4.1.2. + * debian/patches: + - Renumber. + - Add upstream patch to remove inclusion of ThreadPool.h from upnpdebug.h. + (Closes: #884252) + + -- James Cowgill Sat, 23 Dec 2017 00:03:52 +0000 + +pupnp-1.8 (1:1.8.3-1) experimental; urgency=medium + + * New upstream release. + + * debian/changelog: + - Remove trailing whitespace. + * debian/control: + - Rename libupnp1.8-dev to libupnp-dev. (Closes: #873656) + - Move libupnp-1.8-dev conflicts to breaks. + - Add versions to breaks and replaces. + - Remove unnecessary Testsuite: autopkgtest header. + - Set Rules-Requires-Root: no. + - Bump standards version to 4.1.1. + * debian/copyright: + - Update. + * debian/patches: + - Refresh. + * debian/rules: + - Implement build targets manually in debian/rules. + - Don't suppress doxygen log output. + + -- James Cowgill Tue, 21 Nov 2017 21:23:05 +0000 pupnp-1.8 (1:1.8.2-3) unstable; urgency=medium @@ -51,7 +122,6 @@ * debian/tests: - Edit autopkgtests to use -lupnp. - -- James Cowgill Fri, 18 Aug 2017 14:46:36 +0100 pupnp-1.8 (1:1.8.1-1) unstable; urgency=medium @@ -152,7 +222,7 @@ * Non-maintainer upload. * Fix out-of-bounds-access (CVE-2016-8863, Closes: #842093) - * Fix usage on ipv6 enabled hosts (Closes: #813249) + * Fix usage on ipv6 enabled hosts (Closes: #813249) -- Uwe Kleine-König Fri, 09 Dec 2016 10:40:28 +0100 @@ -176,7 +246,7 @@ documentation to allow package builds to be reproducible. [Jérémy Bobbio ] (patch 22) (Closes: #774518). * Bind miniserver sockets to our given IP address not INADDR_ANY (patch 24). - * libupnp6-doc: add override of embedded-javascript-library for jquery.js, + * libupnp6-doc: add override of embedded-javascript-library for jquery.js, see README.jquery in doxygen itself for why (lintian, Policy section 4.13). * Fix lintian binary-file-built-without-LFS-support for libixml: fix libixml Makefile.am, fseeko and #includes, and define AC_USE_LARGEFILE in @@ -282,7 +352,7 @@ libupnp (1:1.6.6-3) unstable; urgency=high [ Dmitry E. Oboukhov ] - * Added libupnp-dev with depends to libupnp3-dev, + * Added libupnp-dev with depends to libupnp3-dev, really closes: #490339, #490533. [ Nick Leverton ] @@ -343,7 +413,7 @@ libupnp (1.4.3-2) unstable; urgency=low * Make libupnp-dev depend on libupnp2. - + -- Steve McIntyre <93sam@debian.org> Sat, 28 Apr 2007 16:58:23 +0100 libupnp (1.4.3-1) unstable; urgency=low @@ -355,7 +425,7 @@ * Thanks to Jeremy Laine for help on this release. * Two kFreeBSD build failures reported should now be fixed. Closes: #416254. Please open more bugs if there are any more failures. - + -- Steve McIntyre <93sam@debian.org> Sat, 31 Mar 2007 16:03:29 +0200 libupnp (1.2.1-3) unstable; urgency=low @@ -365,7 +435,7 @@ * Include debug versions of the libraries in the -dev package. Closes: #350115 * Updated Standards-version. - + -- Steve McIntyre <93sam@debian.org> Sun, 12 Feb 2006 20:55:35 +0000 libupnp (1.2.1-2) unstable; urgency=low @@ -380,4 +450,3 @@ * Initial version -- Steve McIntyre <93sam@debian.org> Tue, 18 Jan 2005 19:42:08 +0000 - diff -Nru pupnp-1.8-1.8.3/debian/clean pupnp-1.8-1.8.4/debian/clean --- pupnp-1.8-1.8.3/debian/clean 2017-09-23 17:56:47.000000000 +0000 +++ pupnp-1.8-1.8.4/debian/clean 2018-11-05 19:55:05.000000000 +0000 @@ -1,3 +1,3 @@ build/inc/ -docs/doxygen/ +docs/ tags diff -Nru pupnp-1.8-1.8.3/debian/compat pupnp-1.8-1.8.4/debian/compat --- pupnp-1.8-1.8.3/debian/compat 2017-09-23 17:56:47.000000000 +0000 +++ pupnp-1.8-1.8.4/debian/compat 2018-11-05 19:55:05.000000000 +0000 @@ -1 +1 @@ -10 +11 diff -Nru pupnp-1.8-1.8.3/debian/control pupnp-1.8-1.8.4/debian/control --- pupnp-1.8-1.8.3/debian/control 2017-09-23 17:56:47.000000000 +0000 +++ pupnp-1.8-1.8.4/debian/control 2018-11-12 09:13:16.000000000 +0000 @@ -2,18 +2,19 @@ Section: net Priority: optional Homepage: http://pupnp.sourceforge.net/ -Maintainer: James Cowgill +Maintainer: Ubuntu Developers +XSBC-Original-Maintainer: James Cowgill Build-Depends: - debhelper (>= 10), + debhelper (>= 11), Build-Depends-Indep: doxygen, graphviz, -Standards-Version: 4.0.1 -Vcs-Browser: https://anonscm.debian.org/cgit/users/jcowgill/pupnp-1.8.git -Vcs-Git: https://anonscm.debian.org/git/users/jcowgill/pupnp-1.8.git -Testsuite: autopkgtest +Rules-Requires-Root: no +Standards-Version: 4.2.1 +Vcs-Browser: https://salsa.debian.org/debian/pupnp-1.8 +Vcs-Git: https://salsa.debian.org/debian/pupnp-1.8.git -Package: libupnp10 +Package: libupnp13 Multi-Arch: same Architecture: any Section: libs @@ -26,7 +27,7 @@ Play Device Architecture Specification - see http://www.upnp.org/ for specifications. . - The libupnp10 package contains the runtime library for uPnP. + The libupnp13 package contains the runtime library for uPnP. Package: libixml10 Multi-Arch: same @@ -44,17 +45,18 @@ The libixml10 package contains the runtime libraries for the Linux DOM2 XML Parser (IXML). -Package: libupnp1.8-dev +Package: libupnp-dev Multi-Arch: same Architecture: any Section: libdevel Depends: libixml10 (= ${binary:Version}), - libupnp10 (= ${binary:Version}), + libupnp13 (= ${binary:Version}), ${misc:Depends} -Suggests: libupnp1.8-doc -Conflicts: libupnp-1.8-dev, libupnp6-dev -Replaces: libupnp-1.8-dev +Suggests: libupnp-doc +Breaks: libupnp-1.8-dev (<< 1:1.8.2-1~), libupnp1.8-dev (<< 1:1.8.3-1~) +Conflicts: libupnp6-dev +Replaces: libupnp-1.8-dev (<< 1:1.8.2-1~), libupnp1.8-dev (<< 1:1.8.3-1~) Description: Portable SDK for UPnP Devices, version 1.8 (development files) The Portable SDK for UPnP Devices (libupnp) provides developers with an API and open source code for building control points, devices, and @@ -66,11 +68,13 @@ debug versions of libraries needed for development of programs using uPnP. -Package: libupnp1.8-doc +Package: libupnp-doc Multi-Arch: foreign Architecture: all Section: doc Depends: ${misc:Depends} +Breaks: libupnp1.8-doc (<< 1:1.8.3-3~) +Replaces: libupnp1.8-doc (<< 1:1.8.3-3~) Description: Documentation for the Portable SDK for UPnP Devices, version 1.8 The Portable SDK for UPnP Devices (libupnp) provides developers with an API and open source code for building control points, devices, and @@ -78,5 +82,5 @@ Play Device Architecture Specification - see http://www.upnp.org/ for specifications. . - This package contains the HTML documentation for the libupnp-1.8 library - in /usr/share/doc/libupnp1.8-doc/ + This package contains the HTML documentation for the libupnp library + in /usr/share/doc/libupnp-dev/ diff -Nru pupnp-1.8-1.8.3/debian/copyright pupnp-1.8-1.8.4/debian/copyright --- pupnp-1.8-1.8.3/debian/copyright 2017-09-23 17:56:47.000000000 +0000 +++ pupnp-1.8-1.8.4/debian/copyright 2018-11-05 19:55:05.000000000 +0000 @@ -71,6 +71,10 @@ 2006 Steven G. Johnson License: GPL-2+ with Autoconf exception +Files: m4/ax_sys_largefile_sensitive.m4 +Copyright: 2008 Guido U. Draheim +License: GPL-3+ with Autoconf exception + Files: upnp/m4/libupnp.m4 Copyright: 2003-2008 aMule Team License: GPL-2+ @@ -152,3 +156,30 @@ make and distribute a modified version of the Autoconf Macro, you may extend this special exception to the GPL to apply to your modified version as well. + +License: GPL-3+ with Autoconf exception + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the + Free Software Foundation; either version 3 of the License, or (at your + option) any later version. + . + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General + Public License for more details. + . + On Debian systems, the complete text of the GNU General + Public License can be found in `/usr/share/common-licenses/GPL-3'. + . + As a special exception, the respective Autoconf Macro's copyright owner + gives unlimited permission to copy, distribute and modify the configure + scripts that are the output of Autoconf when processing the Macro. You + need not follow the terms of the GNU General Public License when using + or distributing such scripts, even though portions of the text of the + Macro appear in them. The GNU General Public License (GPL) does govern + all other use of the material that constitutes the Autoconf Macro. + . + This special exception to the GPL applies to versions of the Autoconf + Macro released by the Autoconf Archive. When you make and distribute a + modified version of the Autoconf Macro, you may extend this special + exception to the GPL to apply to your modified version as well. diff -Nru pupnp-1.8-1.8.3/debian/libixml10.symbols pupnp-1.8-1.8.4/debian/libixml10.symbols --- pupnp-1.8-1.8.3/debian/libixml10.symbols 2017-09-23 17:56:47.000000000 +0000 +++ pupnp-1.8-1.8.4/debian/libixml10.symbols 2018-11-05 19:55:05.000000000 +0000 @@ -1,5 +1,5 @@ libixml.so.10 libixml10 #MINVER# -* Build-Depends-Package: libupnp1.8-dev +* Build-Depends-Package: libupnp-dev ixmlAttr_free@Base 1:1.8.0 ixmlAttr_init@Base 1:1.8.0 ixmlCDATASection_free@Base 1:1.8.0 diff -Nru pupnp-1.8-1.8.3/debian/libupnp10.install pupnp-1.8-1.8.4/debian/libupnp10.install --- pupnp-1.8-1.8.3/debian/libupnp10.install 2017-09-23 17:56:47.000000000 +0000 +++ pupnp-1.8-1.8.4/debian/libupnp10.install 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -usr/lib/*/libupnp.so.* diff -Nru pupnp-1.8-1.8.3/debian/libupnp10.symbols pupnp-1.8-1.8.4/debian/libupnp10.symbols --- pupnp-1.8-1.8.3/debian/libupnp10.symbols 2017-09-23 17:56:47.000000000 +0000 +++ pupnp-1.8-1.8.4/debian/libupnp10.symbols 1970-01-01 00:00:00.000000000 +0000 @@ -1,374 +0,0 @@ -libupnp.so.10 libupnp10 #MINVER# -* Build-Depends-Package: libupnp1.8-dev - UpnpAcceptSubscription@Base 1:1.8.0 - UpnpAcceptSubscriptionExt@Base 1:1.8.0 - UpnpActionComplete_assign@Base 1:1.8.0 - UpnpActionComplete_clear_CtrlUrl@Base 1:1.8.0 - UpnpActionComplete_delete@Base 1:1.8.0 - UpnpActionComplete_dup@Base 1:1.8.0 - UpnpActionComplete_get_ActionRequest@Base 1:1.8.0 - UpnpActionComplete_get_ActionResult@Base 1:1.8.0 - UpnpActionComplete_get_CtrlUrl@Base 1:1.8.0 - UpnpActionComplete_get_CtrlUrl_Length@Base 1:1.8.0 - UpnpActionComplete_get_CtrlUrl_cstr@Base 1:1.8.0 - UpnpActionComplete_get_ErrCode@Base 1:1.8.0 - UpnpActionComplete_new@Base 1:1.8.0 - UpnpActionComplete_set_ActionRequest@Base 1:1.8.0 - UpnpActionComplete_set_ActionResult@Base 1:1.8.0 - UpnpActionComplete_set_CtrlUrl@Base 1:1.8.0 - UpnpActionComplete_set_ErrCode@Base 1:1.8.0 - UpnpActionComplete_strcpy_CtrlUrl@Base 1:1.8.0 - UpnpActionComplete_strncpy_CtrlUrl@Base 1:1.8.0 - UpnpActionRequest_assign@Base 1:1.8.0 - UpnpActionRequest_clear_ActionName@Base 1:1.8.0 - UpnpActionRequest_clear_CtrlPtIPAddr@Base 1:1.8.0 - UpnpActionRequest_clear_DevUDN@Base 1:1.8.0 - UpnpActionRequest_clear_ErrStr@Base 1:1.8.0 - UpnpActionRequest_clear_ServiceID@Base 1:1.8.0 - UpnpActionRequest_delete@Base 1:1.8.0 - UpnpActionRequest_dup@Base 1:1.8.0 - UpnpActionRequest_get_ActionName@Base 1:1.8.0 - UpnpActionRequest_get_ActionName_Length@Base 1:1.8.0 - UpnpActionRequest_get_ActionName_cstr@Base 1:1.8.0 - UpnpActionRequest_get_ActionRequest@Base 1:1.8.0 - UpnpActionRequest_get_ActionResult@Base 1:1.8.0 - UpnpActionRequest_get_CtrlPtIPAddr@Base 1:1.8.0 - UpnpActionRequest_get_DevUDN@Base 1:1.8.0 - UpnpActionRequest_get_DevUDN_Length@Base 1:1.8.0 - UpnpActionRequest_get_DevUDN_cstr@Base 1:1.8.0 - UpnpActionRequest_get_ErrCode@Base 1:1.8.0 - UpnpActionRequest_get_ErrStr@Base 1:1.8.0 - UpnpActionRequest_get_ErrStr_Length@Base 1:1.8.0 - UpnpActionRequest_get_ErrStr_cstr@Base 1:1.8.0 - UpnpActionRequest_get_ServiceID@Base 1:1.8.0 - UpnpActionRequest_get_ServiceID_Length@Base 1:1.8.0 - UpnpActionRequest_get_ServiceID_cstr@Base 1:1.8.0 - UpnpActionRequest_get_SoapHeader@Base 1:1.8.0 - UpnpActionRequest_get_Socket@Base 1:1.8.0 - UpnpActionRequest_new@Base 1:1.8.0 - UpnpActionRequest_set_ActionName@Base 1:1.8.0 - UpnpActionRequest_set_ActionRequest@Base 1:1.8.0 - UpnpActionRequest_set_ActionResult@Base 1:1.8.0 - UpnpActionRequest_set_CtrlPtIPAddr@Base 1:1.8.0 - UpnpActionRequest_set_DevUDN@Base 1:1.8.0 - UpnpActionRequest_set_ErrCode@Base 1:1.8.0 - UpnpActionRequest_set_ErrStr@Base 1:1.8.0 - UpnpActionRequest_set_ServiceID@Base 1:1.8.0 - UpnpActionRequest_set_SoapHeader@Base 1:1.8.0 - UpnpActionRequest_set_Socket@Base 1:1.8.0 - UpnpActionRequest_strcpy_ActionName@Base 1:1.8.0 - UpnpActionRequest_strcpy_DevUDN@Base 1:1.8.0 - UpnpActionRequest_strcpy_ErrStr@Base 1:1.8.0 - UpnpActionRequest_strcpy_ServiceID@Base 1:1.8.0 - UpnpActionRequest_strncpy_ActionName@Base 1:1.8.0 - UpnpActionRequest_strncpy_DevUDN@Base 1:1.8.0 - UpnpActionRequest_strncpy_ErrStr@Base 1:1.8.0 - UpnpActionRequest_strncpy_ServiceID@Base 1:1.8.0 - UpnpAddToAction@Base 1:1.8.0 - UpnpAddToActionResponse@Base 1:1.8.0 - UpnpAddToPropertySet@Base 1:1.8.0 - UpnpAddVirtualDir@Base 1:1.8.0 - UpnpCancelHttpGet@Base 1:1.8.0 - UpnpCloseHttpConnection@Base 1:1.8.0 - UpnpCloseHttpGet@Base 1:1.8.0 - UpnpCloseHttpPost@Base 1:1.8.0 - UpnpCreatePropertySet@Base 1:1.8.0 - UpnpDiscovery_assign@Base 1:1.8.0 - UpnpDiscovery_clear_Date@Base 1:1.8.0 - UpnpDiscovery_clear_DestAddr@Base 1:1.8.0 - UpnpDiscovery_clear_DeviceID@Base 1:1.8.0 - UpnpDiscovery_clear_DeviceType@Base 1:1.8.0 - UpnpDiscovery_clear_Ext@Base 1:1.8.0 - UpnpDiscovery_clear_Location@Base 1:1.8.0 - UpnpDiscovery_clear_Os@Base 1:1.8.0 - UpnpDiscovery_clear_ServiceType@Base 1:1.8.0 - UpnpDiscovery_clear_ServiceVer@Base 1:1.8.0 - UpnpDiscovery_delete@Base 1:1.8.0 - UpnpDiscovery_dup@Base 1:1.8.0 - UpnpDiscovery_get_Date@Base 1:1.8.0 - UpnpDiscovery_get_Date_Length@Base 1:1.8.0 - UpnpDiscovery_get_Date_cstr@Base 1:1.8.0 - UpnpDiscovery_get_DestAddr@Base 1:1.8.0 - UpnpDiscovery_get_DeviceID@Base 1:1.8.0 - UpnpDiscovery_get_DeviceID_Length@Base 1:1.8.0 - UpnpDiscovery_get_DeviceID_cstr@Base 1:1.8.0 - UpnpDiscovery_get_DeviceType@Base 1:1.8.0 - UpnpDiscovery_get_DeviceType_Length@Base 1:1.8.0 - UpnpDiscovery_get_DeviceType_cstr@Base 1:1.8.0 - UpnpDiscovery_get_ErrCode@Base 1:1.8.0 - UpnpDiscovery_get_Expires@Base 1:1.8.0 - UpnpDiscovery_get_Ext@Base 1:1.8.0 - UpnpDiscovery_get_Ext_Length@Base 1:1.8.0 - UpnpDiscovery_get_Ext_cstr@Base 1:1.8.0 - UpnpDiscovery_get_Location@Base 1:1.8.0 - UpnpDiscovery_get_Location_Length@Base 1:1.8.0 - UpnpDiscovery_get_Location_cstr@Base 1:1.8.0 - UpnpDiscovery_get_Os@Base 1:1.8.0 - UpnpDiscovery_get_Os_Length@Base 1:1.8.0 - UpnpDiscovery_get_Os_cstr@Base 1:1.8.0 - UpnpDiscovery_get_ServiceType@Base 1:1.8.0 - UpnpDiscovery_get_ServiceType_Length@Base 1:1.8.0 - UpnpDiscovery_get_ServiceType_cstr@Base 1:1.8.0 - UpnpDiscovery_get_ServiceVer@Base 1:1.8.0 - UpnpDiscovery_get_ServiceVer_Length@Base 1:1.8.0 - UpnpDiscovery_get_ServiceVer_cstr@Base 1:1.8.0 - UpnpDiscovery_new@Base 1:1.8.0 - UpnpDiscovery_set_Date@Base 1:1.8.0 - UpnpDiscovery_set_DestAddr@Base 1:1.8.0 - UpnpDiscovery_set_DeviceID@Base 1:1.8.0 - UpnpDiscovery_set_DeviceType@Base 1:1.8.0 - UpnpDiscovery_set_ErrCode@Base 1:1.8.0 - UpnpDiscovery_set_Expires@Base 1:1.8.0 - UpnpDiscovery_set_Ext@Base 1:1.8.0 - UpnpDiscovery_set_Location@Base 1:1.8.0 - UpnpDiscovery_set_Os@Base 1:1.8.0 - UpnpDiscovery_set_ServiceType@Base 1:1.8.0 - UpnpDiscovery_set_ServiceVer@Base 1:1.8.0 - UpnpDiscovery_strcpy_Date@Base 1:1.8.0 - UpnpDiscovery_strcpy_DeviceID@Base 1:1.8.0 - UpnpDiscovery_strcpy_DeviceType@Base 1:1.8.0 - UpnpDiscovery_strcpy_Ext@Base 1:1.8.0 - UpnpDiscovery_strcpy_Location@Base 1:1.8.0 - UpnpDiscovery_strcpy_Os@Base 1:1.8.0 - UpnpDiscovery_strcpy_ServiceType@Base 1:1.8.0 - UpnpDiscovery_strcpy_ServiceVer@Base 1:1.8.0 - UpnpDiscovery_strncpy_Date@Base 1:1.8.0 - UpnpDiscovery_strncpy_DeviceID@Base 1:1.8.0 - UpnpDiscovery_strncpy_DeviceType@Base 1:1.8.0 - UpnpDiscovery_strncpy_Ext@Base 1:1.8.0 - UpnpDiscovery_strncpy_Location@Base 1:1.8.0 - UpnpDiscovery_strncpy_Os@Base 1:1.8.0 - UpnpDiscovery_strncpy_ServiceType@Base 1:1.8.0 - UpnpDiscovery_strncpy_ServiceVer@Base 1:1.8.0 - UpnpDownloadUrlItem@Base 1:1.8.0 - UpnpDownloadXmlDoc@Base 1:1.8.0 - UpnpEnableWebserver@Base 1:1.8.0 - UpnpEndHttpRequest@Base 1:1.8.0 - UpnpEventSubscribe_assign@Base 1:1.8.0 - UpnpEventSubscribe_clear_PublisherUrl@Base 1:1.8.0 - UpnpEventSubscribe_clear_SID@Base 1:1.8.0 - UpnpEventSubscribe_delete@Base 1:1.8.0 - UpnpEventSubscribe_dup@Base 1:1.8.0 - UpnpEventSubscribe_get_ErrCode@Base 1:1.8.0 - UpnpEventSubscribe_get_PublisherUrl@Base 1:1.8.0 - UpnpEventSubscribe_get_PublisherUrl_Length@Base 1:1.8.0 - UpnpEventSubscribe_get_PublisherUrl_cstr@Base 1:1.8.0 - UpnpEventSubscribe_get_SID@Base 1:1.8.0 - UpnpEventSubscribe_get_SID_Length@Base 1:1.8.0 - UpnpEventSubscribe_get_SID_cstr@Base 1:1.8.0 - UpnpEventSubscribe_get_TimeOut@Base 1:1.8.0 - UpnpEventSubscribe_new@Base 1:1.8.0 - UpnpEventSubscribe_set_ErrCode@Base 1:1.8.0 - UpnpEventSubscribe_set_PublisherUrl@Base 1:1.8.0 - UpnpEventSubscribe_set_SID@Base 1:1.8.0 - UpnpEventSubscribe_set_TimeOut@Base 1:1.8.0 - UpnpEventSubscribe_strcpy_PublisherUrl@Base 1:1.8.0 - UpnpEventSubscribe_strcpy_SID@Base 1:1.8.0 - UpnpEventSubscribe_strncpy_PublisherUrl@Base 1:1.8.0 - UpnpEventSubscribe_strncpy_SID@Base 1:1.8.0 - UpnpEvent_assign@Base 1:1.8.0 - UpnpEvent_clear_SID@Base 1:1.8.0 - UpnpEvent_delete@Base 1:1.8.0 - UpnpEvent_dup@Base 1:1.8.0 - UpnpEvent_get_ChangedVariables@Base 1:1.8.0 - UpnpEvent_get_EventKey@Base 1:1.8.0 - UpnpEvent_get_SID@Base 1:1.8.0 - UpnpEvent_get_SID_Length@Base 1:1.8.0 - UpnpEvent_get_SID_cstr@Base 1:1.8.0 - UpnpEvent_new@Base 1:1.8.0 - UpnpEvent_set_ChangedVariables@Base 1:1.8.0 - UpnpEvent_set_EventKey@Base 1:1.8.0 - UpnpEvent_set_SID@Base 1:1.8.0 - UpnpEvent_strcpy_SID@Base 1:1.8.0 - UpnpEvent_strncpy_SID@Base 1:1.8.0 - UpnpFileInfo_assign@Base 1:1.8.0 - UpnpFileInfo_delete@Base 1:1.8.0 - UpnpFileInfo_dup@Base 1:1.8.0 - UpnpFileInfo_get_ContentType@Base 1:1.8.0 - UpnpFileInfo_get_ContentType_cstr@Base 1:1.8.0 - UpnpFileInfo_get_ExtraHeaders@Base 1:1.8.0 - UpnpFileInfo_get_ExtraHeaders_cstr@Base 1:1.8.0 - UpnpFileInfo_get_FileLength@Base 1:1.8.0 - UpnpFileInfo_get_IsDirectory@Base 1:1.8.0 - UpnpFileInfo_get_IsReadable@Base 1:1.8.0 - UpnpFileInfo_get_LastModified@Base 1:1.8.0 - UpnpFileInfo_new@Base 1:1.8.0 - UpnpFileInfo_set_ContentType@Base 1:1.8.0 - UpnpFileInfo_set_ExtraHeaders@Base 1:1.8.0 - UpnpFileInfo_set_FileLength@Base 1:1.8.0 - UpnpFileInfo_set_IsDirectory@Base 1:1.8.0 - UpnpFileInfo_set_IsReadable@Base 1:1.8.0 - UpnpFileInfo_set_LastModified@Base 1:1.8.0 - UpnpFinish@Base 1:1.8.0 - UpnpGetErrorMessage@Base 1:1.8.0 - UpnpGetHttpResponse@Base 1:1.8.0 - UpnpGetIfInfo@Base 1:1.8.0 - UpnpGetServerIp6Address@Base 1:1.8.0 - UpnpGetServerIpAddress@Base 1:1.8.0 - UpnpGetServerPort6@Base 1:1.8.0 - UpnpGetServerPort@Base 1:1.8.0 - UpnpGetServerUlaGuaIp6Address@Base 1:1.8.0 - UpnpGetServiceVarStatus@Base 1:1.8.0 - UpnpGetServiceVarStatusAsync@Base 1:1.8.0 - UpnpHttpGetProgress@Base 1:1.8.0 - UpnpInit2@Base 1:1.8.0 - UpnpInit@Base 1:1.8.0 - UpnpIsWebserverEnabled@Base 1:1.8.0 - UpnpMakeAction@Base 1:1.8.0 - UpnpMakeActionResponse@Base 1:1.8.0 - UpnpMakeHttpRequest@Base 1:1.8.0 - UpnpNotify@Base 1:1.8.0 - UpnpNotifyExt@Base 1:1.8.0 - UpnpOpenHttpConnection@Base 1:1.8.0 - UpnpOpenHttpGet@Base 1:1.8.0 - UpnpOpenHttpGetEx@Base 1:1.8.0 - UpnpOpenHttpGetProxy@Base 1:1.8.0 - UpnpOpenHttpPost@Base 1:1.8.0 - UpnpReadHttpGet@Base 1:1.8.0 - UpnpReadHttpResponse@Base 1:1.8.0 - UpnpRegisterClient@Base 1:1.8.0 - UpnpRegisterRootDevice2@Base 1:1.8.0 - UpnpRegisterRootDevice3@Base 1:1.8.0 - UpnpRegisterRootDevice4@Base 1:1.8.0 - UpnpRegisterRootDevice@Base 1:1.8.0 - UpnpRemoveAllVirtualDirs@Base 1:1.8.0 - UpnpRemoveVirtualDir@Base 1:1.8.0 - UpnpRenewSubscription@Base 1:1.8.0 - UpnpRenewSubscriptionAsync@Base 1:1.8.0 - UpnpResolveURL2@Base 1:1.8.0 - UpnpResolveURL@Base 1:1.8.0 - UpnpSdkClientRegistered@Base 1:1.8.0 - UpnpSdkDeviceRegisteredV4@Base 1:1.8.0 - UpnpSdkDeviceregisteredV6@Base 1:1.8.0 - UpnpSdkInit@Base 1:1.8.0 - UpnpSearchAsync@Base 1:1.8.0 - UpnpSendAction@Base 1:1.8.0 - UpnpSendActionAsync@Base 1:1.8.0 - UpnpSendActionEx@Base 1:1.8.0 - UpnpSendActionExAsync@Base 1:1.8.0 - UpnpSendAdvertisement@Base 1:1.8.0 - UpnpSendAdvertisementLowPower@Base 1:1.8.0 - UpnpSetContentLength@Base 1:1.8.0 - UpnpSetEventQueueLimits@Base 1:1.8.2 - UpnpSetMaxContentLength@Base 1:1.8.0 - UpnpSetMaxSubscriptionTimeOut@Base 1:1.8.0 - UpnpSetMaxSubscriptions@Base 1:1.8.0 - UpnpSetWebServerRootDir@Base 1:1.8.0 - UpnpStateVarComplete_assign@Base 1:1.8.0 - UpnpStateVarComplete_clear_CtrlUrl@Base 1:1.8.0 - UpnpStateVarComplete_clear_StateVarName@Base 1:1.8.0 - UpnpStateVarComplete_delete@Base 1:1.8.0 - UpnpStateVarComplete_dup@Base 1:1.8.0 - UpnpStateVarComplete_get_CtrlUrl@Base 1:1.8.0 - UpnpStateVarComplete_get_CtrlUrl_Length@Base 1:1.8.0 - UpnpStateVarComplete_get_CtrlUrl_cstr@Base 1:1.8.0 - UpnpStateVarComplete_get_CurrentVal@Base 1:1.8.0 - UpnpStateVarComplete_get_CurrentVal_cstr@Base 1:1.8.0 - UpnpStateVarComplete_get_ErrCode@Base 1:1.8.0 - UpnpStateVarComplete_get_StateVarName@Base 1:1.8.0 - UpnpStateVarComplete_get_StateVarName_Length@Base 1:1.8.0 - UpnpStateVarComplete_get_StateVarName_cstr@Base 1:1.8.0 - UpnpStateVarComplete_new@Base 1:1.8.0 - UpnpStateVarComplete_set_CtrlUrl@Base 1:1.8.0 - UpnpStateVarComplete_set_CurrentVal@Base 1:1.8.0 - UpnpStateVarComplete_set_ErrCode@Base 1:1.8.0 - UpnpStateVarComplete_set_StateVarName@Base 1:1.8.0 - UpnpStateVarComplete_strcpy_CtrlUrl@Base 1:1.8.0 - UpnpStateVarComplete_strcpy_StateVarName@Base 1:1.8.0 - UpnpStateVarComplete_strncpy_CtrlUrl@Base 1:1.8.0 - UpnpStateVarComplete_strncpy_StateVarName@Base 1:1.8.0 - UpnpStateVarRequest_assign@Base 1:1.8.0 - UpnpStateVarRequest_clear_CtrlPtIPAddr@Base 1:1.8.0 - UpnpStateVarRequest_clear_DevUDN@Base 1:1.8.0 - UpnpStateVarRequest_clear_ErrStr@Base 1:1.8.0 - UpnpStateVarRequest_clear_ServiceID@Base 1:1.8.0 - UpnpStateVarRequest_clear_StateVarName@Base 1:1.8.0 - UpnpStateVarRequest_delete@Base 1:1.8.0 - UpnpStateVarRequest_dup@Base 1:1.8.0 - UpnpStateVarRequest_get_CtrlPtIPAddr@Base 1:1.8.0 - UpnpStateVarRequest_get_CurrentVal@Base 1:1.8.0 - UpnpStateVarRequest_get_CurrentVal_cstr@Base 1:1.8.0 - UpnpStateVarRequest_get_DevUDN@Base 1:1.8.0 - UpnpStateVarRequest_get_DevUDN_Length@Base 1:1.8.0 - UpnpStateVarRequest_get_DevUDN_cstr@Base 1:1.8.0 - UpnpStateVarRequest_get_ErrCode@Base 1:1.8.0 - UpnpStateVarRequest_get_ErrStr@Base 1:1.8.0 - UpnpStateVarRequest_get_ErrStr_Length@Base 1:1.8.0 - UpnpStateVarRequest_get_ErrStr_cstr@Base 1:1.8.0 - UpnpStateVarRequest_get_ServiceID@Base 1:1.8.0 - UpnpStateVarRequest_get_ServiceID_Length@Base 1:1.8.0 - UpnpStateVarRequest_get_ServiceID_cstr@Base 1:1.8.0 - UpnpStateVarRequest_get_Socket@Base 1:1.8.0 - UpnpStateVarRequest_get_StateVarName@Base 1:1.8.0 - UpnpStateVarRequest_get_StateVarName_Length@Base 1:1.8.0 - UpnpStateVarRequest_get_StateVarName_cstr@Base 1:1.8.0 - UpnpStateVarRequest_new@Base 1:1.8.0 - UpnpStateVarRequest_set_CtrlPtIPAddr@Base 1:1.8.0 - UpnpStateVarRequest_set_CurrentVal@Base 1:1.8.0 - UpnpStateVarRequest_set_DevUDN@Base 1:1.8.0 - UpnpStateVarRequest_set_ErrCode@Base 1:1.8.0 - UpnpStateVarRequest_set_ErrStr@Base 1:1.8.0 - UpnpStateVarRequest_set_ServiceID@Base 1:1.8.0 - UpnpStateVarRequest_set_Socket@Base 1:1.8.0 - UpnpStateVarRequest_set_StateVarName@Base 1:1.8.0 - UpnpStateVarRequest_strcpy_DevUDN@Base 1:1.8.0 - UpnpStateVarRequest_strcpy_ErrStr@Base 1:1.8.0 - UpnpStateVarRequest_strcpy_ServiceID@Base 1:1.8.0 - UpnpStateVarRequest_strcpy_StateVarName@Base 1:1.8.0 - UpnpStateVarRequest_strncpy_DevUDN@Base 1:1.8.0 - UpnpStateVarRequest_strncpy_ErrStr@Base 1:1.8.0 - UpnpStateVarRequest_strncpy_ServiceID@Base 1:1.8.0 - UpnpStateVarRequest_strncpy_StateVarName@Base 1:1.8.0 - UpnpString_assign@Base 1:1.8.0 - UpnpString_casecmp@Base 1:1.8.0 - UpnpString_clear@Base 1:1.8.0 - UpnpString_cmp@Base 1:1.8.0 - UpnpString_delete@Base 1:1.8.0 - UpnpString_dup@Base 1:1.8.0 - UpnpString_get_Length@Base 1:1.8.0 - UpnpString_get_String@Base 1:1.8.0 - UpnpString_new@Base 1:1.8.0 - UpnpString_set_Length@Base 1:1.8.0 - UpnpString_set_String@Base 1:1.8.0 - UpnpString_set_StringN@Base 1:1.8.0 - UpnpSubscribe@Base 1:1.8.0 - UpnpSubscribeAsync@Base 1:1.8.0 - UpnpSubscriptionRequest_assign@Base 1:1.8.0 - UpnpSubscriptionRequest_clear_SID@Base 1:1.8.0 - UpnpSubscriptionRequest_clear_ServiceId@Base 1:1.8.0 - UpnpSubscriptionRequest_clear_UDN@Base 1:1.8.0 - UpnpSubscriptionRequest_delete@Base 1:1.8.0 - UpnpSubscriptionRequest_dup@Base 1:1.8.0 - UpnpSubscriptionRequest_get_SID@Base 1:1.8.0 - UpnpSubscriptionRequest_get_SID_Length@Base 1:1.8.0 - UpnpSubscriptionRequest_get_SID_cstr@Base 1:1.8.0 - UpnpSubscriptionRequest_get_ServiceId@Base 1:1.8.0 - UpnpSubscriptionRequest_get_ServiceId_Length@Base 1:1.8.0 - UpnpSubscriptionRequest_get_ServiceId_cstr@Base 1:1.8.0 - UpnpSubscriptionRequest_get_UDN@Base 1:1.8.0 - UpnpSubscriptionRequest_get_UDN_Length@Base 1:1.8.0 - UpnpSubscriptionRequest_get_UDN_cstr@Base 1:1.8.0 - UpnpSubscriptionRequest_new@Base 1:1.8.0 - UpnpSubscriptionRequest_set_SID@Base 1:1.8.0 - UpnpSubscriptionRequest_set_ServiceId@Base 1:1.8.0 - UpnpSubscriptionRequest_set_UDN@Base 1:1.8.0 - UpnpSubscriptionRequest_strcpy_SID@Base 1:1.8.0 - UpnpSubscriptionRequest_strcpy_ServiceId@Base 1:1.8.0 - UpnpSubscriptionRequest_strcpy_UDN@Base 1:1.8.0 - UpnpSubscriptionRequest_strncpy_SID@Base 1:1.8.0 - UpnpSubscriptionRequest_strncpy_ServiceId@Base 1:1.8.0 - UpnpSubscriptionRequest_strncpy_UDN@Base 1:1.8.0 - UpnpThreadDistribution@Base 1:1.8.0 - UpnpUnRegisterClient@Base 1:1.8.0 - UpnpUnRegisterRootDevice@Base 1:1.8.0 - UpnpUnRegisterRootDeviceLowPower@Base 1:1.8.0 - UpnpUnSubscribe@Base 1:1.8.0 - UpnpUnSubscribeAsync@Base 1:1.8.0 - UpnpVirtualDir_set_CloseCallback@Base 1:1.8.0 - UpnpVirtualDir_set_GetInfoCallback@Base 1:1.8.0 - UpnpVirtualDir_set_OpenCallback@Base 1:1.8.0 - UpnpVirtualDir_set_ReadCallback@Base 1:1.8.0 - UpnpVirtualDir_set_SeekCallback@Base 1:1.8.0 - UpnpVirtualDir_set_WriteCallback@Base 1:1.8.0 - UpnpWriteHttpPost@Base 1:1.8.0 - UpnpWriteHttpRequest@Base 1:1.8.0 diff -Nru pupnp-1.8-1.8.3/debian/libupnp13.install pupnp-1.8-1.8.4/debian/libupnp13.install --- pupnp-1.8-1.8.3/debian/libupnp13.install 1970-01-01 00:00:00.000000000 +0000 +++ pupnp-1.8-1.8.4/debian/libupnp13.install 2018-11-05 19:55:05.000000000 +0000 @@ -0,0 +1 @@ +usr/lib/*/libupnp.so.* diff -Nru pupnp-1.8-1.8.3/debian/libupnp13.symbols pupnp-1.8-1.8.4/debian/libupnp13.symbols --- pupnp-1.8-1.8.3/debian/libupnp13.symbols 1970-01-01 00:00:00.000000000 +0000 +++ pupnp-1.8-1.8.4/debian/libupnp13.symbols 2018-11-05 19:55:05.000000000 +0000 @@ -0,0 +1,374 @@ +libupnp.so.13 libupnp13 #MINVER# +* Build-Depends-Package: libupnp-dev + UpnpAcceptSubscription@Base 1:1.8.3 + UpnpAcceptSubscriptionExt@Base 1:1.8.3 + UpnpActionComplete_assign@Base 1:1.8.3 + UpnpActionComplete_clear_CtrlUrl@Base 1:1.8.3 + UpnpActionComplete_delete@Base 1:1.8.3 + UpnpActionComplete_dup@Base 1:1.8.3 + UpnpActionComplete_get_ActionRequest@Base 1:1.8.3 + UpnpActionComplete_get_ActionResult@Base 1:1.8.3 + UpnpActionComplete_get_CtrlUrl@Base 1:1.8.3 + UpnpActionComplete_get_CtrlUrl_Length@Base 1:1.8.3 + UpnpActionComplete_get_CtrlUrl_cstr@Base 1:1.8.3 + UpnpActionComplete_get_ErrCode@Base 1:1.8.3 + UpnpActionComplete_new@Base 1:1.8.3 + UpnpActionComplete_set_ActionRequest@Base 1:1.8.3 + UpnpActionComplete_set_ActionResult@Base 1:1.8.3 + UpnpActionComplete_set_CtrlUrl@Base 1:1.8.3 + UpnpActionComplete_set_ErrCode@Base 1:1.8.3 + UpnpActionComplete_strcpy_CtrlUrl@Base 1:1.8.3 + UpnpActionComplete_strncpy_CtrlUrl@Base 1:1.8.3 + UpnpActionRequest_assign@Base 1:1.8.3 + UpnpActionRequest_clear_ActionName@Base 1:1.8.3 + UpnpActionRequest_clear_CtrlPtIPAddr@Base 1:1.8.3 + UpnpActionRequest_clear_DevUDN@Base 1:1.8.3 + UpnpActionRequest_clear_ErrStr@Base 1:1.8.3 + UpnpActionRequest_clear_ServiceID@Base 1:1.8.3 + UpnpActionRequest_delete@Base 1:1.8.3 + UpnpActionRequest_dup@Base 1:1.8.3 + UpnpActionRequest_get_ActionName@Base 1:1.8.3 + UpnpActionRequest_get_ActionName_Length@Base 1:1.8.3 + UpnpActionRequest_get_ActionName_cstr@Base 1:1.8.3 + UpnpActionRequest_get_ActionRequest@Base 1:1.8.3 + UpnpActionRequest_get_ActionResult@Base 1:1.8.3 + UpnpActionRequest_get_CtrlPtIPAddr@Base 1:1.8.3 + UpnpActionRequest_get_DevUDN@Base 1:1.8.3 + UpnpActionRequest_get_DevUDN_Length@Base 1:1.8.3 + UpnpActionRequest_get_DevUDN_cstr@Base 1:1.8.3 + UpnpActionRequest_get_ErrCode@Base 1:1.8.3 + UpnpActionRequest_get_ErrStr@Base 1:1.8.3 + UpnpActionRequest_get_ErrStr_Length@Base 1:1.8.3 + UpnpActionRequest_get_ErrStr_cstr@Base 1:1.8.3 + UpnpActionRequest_get_ServiceID@Base 1:1.8.3 + UpnpActionRequest_get_ServiceID_Length@Base 1:1.8.3 + UpnpActionRequest_get_ServiceID_cstr@Base 1:1.8.3 + UpnpActionRequest_get_SoapHeader@Base 1:1.8.3 + UpnpActionRequest_get_Socket@Base 1:1.8.3 + UpnpActionRequest_new@Base 1:1.8.3 + UpnpActionRequest_set_ActionName@Base 1:1.8.3 + UpnpActionRequest_set_ActionRequest@Base 1:1.8.3 + UpnpActionRequest_set_ActionResult@Base 1:1.8.3 + UpnpActionRequest_set_CtrlPtIPAddr@Base 1:1.8.3 + UpnpActionRequest_set_DevUDN@Base 1:1.8.3 + UpnpActionRequest_set_ErrCode@Base 1:1.8.3 + UpnpActionRequest_set_ErrStr@Base 1:1.8.3 + UpnpActionRequest_set_ServiceID@Base 1:1.8.3 + UpnpActionRequest_set_SoapHeader@Base 1:1.8.3 + UpnpActionRequest_set_Socket@Base 1:1.8.3 + UpnpActionRequest_strcpy_ActionName@Base 1:1.8.3 + UpnpActionRequest_strcpy_DevUDN@Base 1:1.8.3 + UpnpActionRequest_strcpy_ErrStr@Base 1:1.8.3 + UpnpActionRequest_strcpy_ServiceID@Base 1:1.8.3 + UpnpActionRequest_strncpy_ActionName@Base 1:1.8.3 + UpnpActionRequest_strncpy_DevUDN@Base 1:1.8.3 + UpnpActionRequest_strncpy_ErrStr@Base 1:1.8.3 + UpnpActionRequest_strncpy_ServiceID@Base 1:1.8.3 + UpnpAddToAction@Base 1:1.8.3 + UpnpAddToActionResponse@Base 1:1.8.3 + UpnpAddToPropertySet@Base 1:1.8.3 + UpnpAddVirtualDir@Base 1:1.8.3 + UpnpCancelHttpGet@Base 1:1.8.3 + UpnpCloseHttpConnection@Base 1:1.8.3 + UpnpCloseHttpGet@Base 1:1.8.3 + UpnpCloseHttpPost@Base 1:1.8.3 + UpnpCreatePropertySet@Base 1:1.8.3 + UpnpDiscovery_assign@Base 1:1.8.3 + UpnpDiscovery_clear_Date@Base 1:1.8.3 + UpnpDiscovery_clear_DestAddr@Base 1:1.8.3 + UpnpDiscovery_clear_DeviceID@Base 1:1.8.3 + UpnpDiscovery_clear_DeviceType@Base 1:1.8.3 + UpnpDiscovery_clear_Ext@Base 1:1.8.3 + UpnpDiscovery_clear_Location@Base 1:1.8.3 + UpnpDiscovery_clear_Os@Base 1:1.8.3 + UpnpDiscovery_clear_ServiceType@Base 1:1.8.3 + UpnpDiscovery_clear_ServiceVer@Base 1:1.8.3 + UpnpDiscovery_delete@Base 1:1.8.3 + UpnpDiscovery_dup@Base 1:1.8.3 + UpnpDiscovery_get_Date@Base 1:1.8.3 + UpnpDiscovery_get_Date_Length@Base 1:1.8.3 + UpnpDiscovery_get_Date_cstr@Base 1:1.8.3 + UpnpDiscovery_get_DestAddr@Base 1:1.8.3 + UpnpDiscovery_get_DeviceID@Base 1:1.8.3 + UpnpDiscovery_get_DeviceID_Length@Base 1:1.8.3 + UpnpDiscovery_get_DeviceID_cstr@Base 1:1.8.3 + UpnpDiscovery_get_DeviceType@Base 1:1.8.3 + UpnpDiscovery_get_DeviceType_Length@Base 1:1.8.3 + UpnpDiscovery_get_DeviceType_cstr@Base 1:1.8.3 + UpnpDiscovery_get_ErrCode@Base 1:1.8.3 + UpnpDiscovery_get_Expires@Base 1:1.8.3 + UpnpDiscovery_get_Ext@Base 1:1.8.3 + UpnpDiscovery_get_Ext_Length@Base 1:1.8.3 + UpnpDiscovery_get_Ext_cstr@Base 1:1.8.3 + UpnpDiscovery_get_Location@Base 1:1.8.3 + UpnpDiscovery_get_Location_Length@Base 1:1.8.3 + UpnpDiscovery_get_Location_cstr@Base 1:1.8.3 + UpnpDiscovery_get_Os@Base 1:1.8.3 + UpnpDiscovery_get_Os_Length@Base 1:1.8.3 + UpnpDiscovery_get_Os_cstr@Base 1:1.8.3 + UpnpDiscovery_get_ServiceType@Base 1:1.8.3 + UpnpDiscovery_get_ServiceType_Length@Base 1:1.8.3 + UpnpDiscovery_get_ServiceType_cstr@Base 1:1.8.3 + UpnpDiscovery_get_ServiceVer@Base 1:1.8.3 + UpnpDiscovery_get_ServiceVer_Length@Base 1:1.8.3 + UpnpDiscovery_get_ServiceVer_cstr@Base 1:1.8.3 + UpnpDiscovery_new@Base 1:1.8.3 + UpnpDiscovery_set_Date@Base 1:1.8.3 + UpnpDiscovery_set_DestAddr@Base 1:1.8.3 + UpnpDiscovery_set_DeviceID@Base 1:1.8.3 + UpnpDiscovery_set_DeviceType@Base 1:1.8.3 + UpnpDiscovery_set_ErrCode@Base 1:1.8.3 + UpnpDiscovery_set_Expires@Base 1:1.8.3 + UpnpDiscovery_set_Ext@Base 1:1.8.3 + UpnpDiscovery_set_Location@Base 1:1.8.3 + UpnpDiscovery_set_Os@Base 1:1.8.3 + UpnpDiscovery_set_ServiceType@Base 1:1.8.3 + UpnpDiscovery_set_ServiceVer@Base 1:1.8.3 + UpnpDiscovery_strcpy_Date@Base 1:1.8.3 + UpnpDiscovery_strcpy_DeviceID@Base 1:1.8.3 + UpnpDiscovery_strcpy_DeviceType@Base 1:1.8.3 + UpnpDiscovery_strcpy_Ext@Base 1:1.8.3 + UpnpDiscovery_strcpy_Location@Base 1:1.8.3 + UpnpDiscovery_strcpy_Os@Base 1:1.8.3 + UpnpDiscovery_strcpy_ServiceType@Base 1:1.8.3 + UpnpDiscovery_strcpy_ServiceVer@Base 1:1.8.3 + UpnpDiscovery_strncpy_Date@Base 1:1.8.3 + UpnpDiscovery_strncpy_DeviceID@Base 1:1.8.3 + UpnpDiscovery_strncpy_DeviceType@Base 1:1.8.3 + UpnpDiscovery_strncpy_Ext@Base 1:1.8.3 + UpnpDiscovery_strncpy_Location@Base 1:1.8.3 + UpnpDiscovery_strncpy_Os@Base 1:1.8.3 + UpnpDiscovery_strncpy_ServiceType@Base 1:1.8.3 + UpnpDiscovery_strncpy_ServiceVer@Base 1:1.8.3 + UpnpDownloadUrlItem@Base 1:1.8.3 + UpnpDownloadXmlDoc@Base 1:1.8.3 + UpnpEnableWebserver@Base 1:1.8.3 + UpnpEndHttpRequest@Base 1:1.8.3 + UpnpEventSubscribe_assign@Base 1:1.8.3 + UpnpEventSubscribe_clear_PublisherUrl@Base 1:1.8.3 + UpnpEventSubscribe_clear_SID@Base 1:1.8.3 + UpnpEventSubscribe_delete@Base 1:1.8.3 + UpnpEventSubscribe_dup@Base 1:1.8.3 + UpnpEventSubscribe_get_ErrCode@Base 1:1.8.3 + UpnpEventSubscribe_get_PublisherUrl@Base 1:1.8.3 + UpnpEventSubscribe_get_PublisherUrl_Length@Base 1:1.8.3 + UpnpEventSubscribe_get_PublisherUrl_cstr@Base 1:1.8.3 + UpnpEventSubscribe_get_SID@Base 1:1.8.3 + UpnpEventSubscribe_get_SID_Length@Base 1:1.8.3 + UpnpEventSubscribe_get_SID_cstr@Base 1:1.8.3 + UpnpEventSubscribe_get_TimeOut@Base 1:1.8.3 + UpnpEventSubscribe_new@Base 1:1.8.3 + UpnpEventSubscribe_set_ErrCode@Base 1:1.8.3 + UpnpEventSubscribe_set_PublisherUrl@Base 1:1.8.3 + UpnpEventSubscribe_set_SID@Base 1:1.8.3 + UpnpEventSubscribe_set_TimeOut@Base 1:1.8.3 + UpnpEventSubscribe_strcpy_PublisherUrl@Base 1:1.8.3 + UpnpEventSubscribe_strcpy_SID@Base 1:1.8.3 + UpnpEventSubscribe_strncpy_PublisherUrl@Base 1:1.8.3 + UpnpEventSubscribe_strncpy_SID@Base 1:1.8.3 + UpnpEvent_assign@Base 1:1.8.3 + UpnpEvent_clear_SID@Base 1:1.8.3 + UpnpEvent_delete@Base 1:1.8.3 + UpnpEvent_dup@Base 1:1.8.3 + UpnpEvent_get_ChangedVariables@Base 1:1.8.3 + UpnpEvent_get_EventKey@Base 1:1.8.3 + UpnpEvent_get_SID@Base 1:1.8.3 + UpnpEvent_get_SID_Length@Base 1:1.8.3 + UpnpEvent_get_SID_cstr@Base 1:1.8.3 + UpnpEvent_new@Base 1:1.8.3 + UpnpEvent_set_ChangedVariables@Base 1:1.8.3 + UpnpEvent_set_EventKey@Base 1:1.8.3 + UpnpEvent_set_SID@Base 1:1.8.3 + UpnpEvent_strcpy_SID@Base 1:1.8.3 + UpnpEvent_strncpy_SID@Base 1:1.8.3 + UpnpFileInfo_assign@Base 1:1.8.3 + UpnpFileInfo_delete@Base 1:1.8.3 + UpnpFileInfo_dup@Base 1:1.8.3 + UpnpFileInfo_get_ContentType@Base 1:1.8.3 + UpnpFileInfo_get_ContentType_cstr@Base 1:1.8.3 + UpnpFileInfo_get_ExtraHeaders@Base 1:1.8.3 + UpnpFileInfo_get_ExtraHeaders_cstr@Base 1:1.8.3 + UpnpFileInfo_get_FileLength@Base 1:1.8.3 + UpnpFileInfo_get_IsDirectory@Base 1:1.8.3 + UpnpFileInfo_get_IsReadable@Base 1:1.8.3 + UpnpFileInfo_get_LastModified@Base 1:1.8.3 + UpnpFileInfo_new@Base 1:1.8.3 + UpnpFileInfo_set_ContentType@Base 1:1.8.3 + UpnpFileInfo_set_ExtraHeaders@Base 1:1.8.3 + UpnpFileInfo_set_FileLength@Base 1:1.8.3 + UpnpFileInfo_set_IsDirectory@Base 1:1.8.3 + UpnpFileInfo_set_IsReadable@Base 1:1.8.3 + UpnpFileInfo_set_LastModified@Base 1:1.8.3 + UpnpFinish@Base 1:1.8.3 + UpnpGetErrorMessage@Base 1:1.8.3 + UpnpGetHttpResponse@Base 1:1.8.3 + UpnpGetIfInfo@Base 1:1.8.3 + UpnpGetServerIp6Address@Base 1:1.8.3 + UpnpGetServerIpAddress@Base 1:1.8.3 + UpnpGetServerPort6@Base 1:1.8.3 + UpnpGetServerPort@Base 1:1.8.3 + UpnpGetServerUlaGuaIp6Address@Base 1:1.8.3 + UpnpGetServiceVarStatus@Base 1:1.8.3 + UpnpGetServiceVarStatusAsync@Base 1:1.8.3 + UpnpHttpGetProgress@Base 1:1.8.3 + UpnpInit2@Base 1:1.8.3 + UpnpInit@Base 1:1.8.3 + UpnpIsWebserverEnabled@Base 1:1.8.3 + UpnpMakeAction@Base 1:1.8.3 + UpnpMakeActionResponse@Base 1:1.8.3 + UpnpMakeHttpRequest@Base 1:1.8.3 + UpnpNotify@Base 1:1.8.3 + UpnpNotifyExt@Base 1:1.8.3 + UpnpOpenHttpConnection@Base 1:1.8.3 + UpnpOpenHttpGet@Base 1:1.8.3 + UpnpOpenHttpGetEx@Base 1:1.8.3 + UpnpOpenHttpGetProxy@Base 1:1.8.3 + UpnpOpenHttpPost@Base 1:1.8.3 + UpnpReadHttpGet@Base 1:1.8.3 + UpnpReadHttpResponse@Base 1:1.8.3 + UpnpRegisterClient@Base 1:1.8.3 + UpnpRegisterRootDevice2@Base 1:1.8.3 + UpnpRegisterRootDevice3@Base 1:1.8.3 + UpnpRegisterRootDevice4@Base 1:1.8.3 + UpnpRegisterRootDevice@Base 1:1.8.3 + UpnpRemoveAllVirtualDirs@Base 1:1.8.3 + UpnpRemoveVirtualDir@Base 1:1.8.3 + UpnpRenewSubscription@Base 1:1.8.3 + UpnpRenewSubscriptionAsync@Base 1:1.8.3 + UpnpResolveURL2@Base 1:1.8.3 + UpnpResolveURL@Base 1:1.8.3 + UpnpSdkClientRegistered@Base 1:1.8.3 + UpnpSdkDeviceRegisteredV4@Base 1:1.8.3 + UpnpSdkDeviceregisteredV6@Base 1:1.8.3 + UpnpSdkInit@Base 1:1.8.3 + UpnpSearchAsync@Base 1:1.8.3 + UpnpSendAction@Base 1:1.8.3 + UpnpSendActionAsync@Base 1:1.8.3 + UpnpSendActionEx@Base 1:1.8.3 + UpnpSendActionExAsync@Base 1:1.8.3 + UpnpSendAdvertisement@Base 1:1.8.3 + UpnpSendAdvertisementLowPower@Base 1:1.8.3 + UpnpSetContentLength@Base 1:1.8.3 + UpnpSetEventQueueLimits@Base 1:1.8.2 + UpnpSetMaxContentLength@Base 1:1.8.3 + UpnpSetMaxSubscriptionTimeOut@Base 1:1.8.3 + UpnpSetMaxSubscriptions@Base 1:1.8.3 + UpnpSetWebServerRootDir@Base 1:1.8.3 + UpnpStateVarComplete_assign@Base 1:1.8.3 + UpnpStateVarComplete_clear_CtrlUrl@Base 1:1.8.3 + UpnpStateVarComplete_clear_StateVarName@Base 1:1.8.3 + UpnpStateVarComplete_delete@Base 1:1.8.3 + UpnpStateVarComplete_dup@Base 1:1.8.3 + UpnpStateVarComplete_get_CtrlUrl@Base 1:1.8.3 + UpnpStateVarComplete_get_CtrlUrl_Length@Base 1:1.8.3 + UpnpStateVarComplete_get_CtrlUrl_cstr@Base 1:1.8.3 + UpnpStateVarComplete_get_CurrentVal@Base 1:1.8.3 + UpnpStateVarComplete_get_CurrentVal_cstr@Base 1:1.8.3 + UpnpStateVarComplete_get_ErrCode@Base 1:1.8.3 + UpnpStateVarComplete_get_StateVarName@Base 1:1.8.3 + UpnpStateVarComplete_get_StateVarName_Length@Base 1:1.8.3 + UpnpStateVarComplete_get_StateVarName_cstr@Base 1:1.8.3 + UpnpStateVarComplete_new@Base 1:1.8.3 + UpnpStateVarComplete_set_CtrlUrl@Base 1:1.8.3 + UpnpStateVarComplete_set_CurrentVal@Base 1:1.8.3 + UpnpStateVarComplete_set_ErrCode@Base 1:1.8.3 + UpnpStateVarComplete_set_StateVarName@Base 1:1.8.3 + UpnpStateVarComplete_strcpy_CtrlUrl@Base 1:1.8.3 + UpnpStateVarComplete_strcpy_StateVarName@Base 1:1.8.3 + UpnpStateVarComplete_strncpy_CtrlUrl@Base 1:1.8.3 + UpnpStateVarComplete_strncpy_StateVarName@Base 1:1.8.3 + UpnpStateVarRequest_assign@Base 1:1.8.3 + UpnpStateVarRequest_clear_CtrlPtIPAddr@Base 1:1.8.3 + UpnpStateVarRequest_clear_DevUDN@Base 1:1.8.3 + UpnpStateVarRequest_clear_ErrStr@Base 1:1.8.3 + UpnpStateVarRequest_clear_ServiceID@Base 1:1.8.3 + UpnpStateVarRequest_clear_StateVarName@Base 1:1.8.3 + UpnpStateVarRequest_delete@Base 1:1.8.3 + UpnpStateVarRequest_dup@Base 1:1.8.3 + UpnpStateVarRequest_get_CtrlPtIPAddr@Base 1:1.8.3 + UpnpStateVarRequest_get_CurrentVal@Base 1:1.8.3 + UpnpStateVarRequest_get_CurrentVal_cstr@Base 1:1.8.3 + UpnpStateVarRequest_get_DevUDN@Base 1:1.8.3 + UpnpStateVarRequest_get_DevUDN_Length@Base 1:1.8.3 + UpnpStateVarRequest_get_DevUDN_cstr@Base 1:1.8.3 + UpnpStateVarRequest_get_ErrCode@Base 1:1.8.3 + UpnpStateVarRequest_get_ErrStr@Base 1:1.8.3 + UpnpStateVarRequest_get_ErrStr_Length@Base 1:1.8.3 + UpnpStateVarRequest_get_ErrStr_cstr@Base 1:1.8.3 + UpnpStateVarRequest_get_ServiceID@Base 1:1.8.3 + UpnpStateVarRequest_get_ServiceID_Length@Base 1:1.8.3 + UpnpStateVarRequest_get_ServiceID_cstr@Base 1:1.8.3 + UpnpStateVarRequest_get_Socket@Base 1:1.8.3 + UpnpStateVarRequest_get_StateVarName@Base 1:1.8.3 + UpnpStateVarRequest_get_StateVarName_Length@Base 1:1.8.3 + UpnpStateVarRequest_get_StateVarName_cstr@Base 1:1.8.3 + UpnpStateVarRequest_new@Base 1:1.8.3 + UpnpStateVarRequest_set_CtrlPtIPAddr@Base 1:1.8.3 + UpnpStateVarRequest_set_CurrentVal@Base 1:1.8.3 + UpnpStateVarRequest_set_DevUDN@Base 1:1.8.3 + UpnpStateVarRequest_set_ErrCode@Base 1:1.8.3 + UpnpStateVarRequest_set_ErrStr@Base 1:1.8.3 + UpnpStateVarRequest_set_ServiceID@Base 1:1.8.3 + UpnpStateVarRequest_set_Socket@Base 1:1.8.3 + UpnpStateVarRequest_set_StateVarName@Base 1:1.8.3 + UpnpStateVarRequest_strcpy_DevUDN@Base 1:1.8.3 + UpnpStateVarRequest_strcpy_ErrStr@Base 1:1.8.3 + UpnpStateVarRequest_strcpy_ServiceID@Base 1:1.8.3 + UpnpStateVarRequest_strcpy_StateVarName@Base 1:1.8.3 + UpnpStateVarRequest_strncpy_DevUDN@Base 1:1.8.3 + UpnpStateVarRequest_strncpy_ErrStr@Base 1:1.8.3 + UpnpStateVarRequest_strncpy_ServiceID@Base 1:1.8.3 + UpnpStateVarRequest_strncpy_StateVarName@Base 1:1.8.3 + UpnpString_assign@Base 1:1.8.3 + UpnpString_casecmp@Base 1:1.8.3 + UpnpString_clear@Base 1:1.8.3 + UpnpString_cmp@Base 1:1.8.3 + UpnpString_delete@Base 1:1.8.3 + UpnpString_dup@Base 1:1.8.3 + UpnpString_get_Length@Base 1:1.8.3 + UpnpString_get_String@Base 1:1.8.3 + UpnpString_new@Base 1:1.8.3 + UpnpString_set_Length@Base 1:1.8.3 + UpnpString_set_String@Base 1:1.8.3 + UpnpString_set_StringN@Base 1:1.8.3 + UpnpSubscribe@Base 1:1.8.3 + UpnpSubscribeAsync@Base 1:1.8.3 + UpnpSubscriptionRequest_assign@Base 1:1.8.3 + UpnpSubscriptionRequest_clear_SID@Base 1:1.8.3 + UpnpSubscriptionRequest_clear_ServiceId@Base 1:1.8.3 + UpnpSubscriptionRequest_clear_UDN@Base 1:1.8.3 + UpnpSubscriptionRequest_delete@Base 1:1.8.3 + UpnpSubscriptionRequest_dup@Base 1:1.8.3 + UpnpSubscriptionRequest_get_SID@Base 1:1.8.3 + UpnpSubscriptionRequest_get_SID_Length@Base 1:1.8.3 + UpnpSubscriptionRequest_get_SID_cstr@Base 1:1.8.3 + UpnpSubscriptionRequest_get_ServiceId@Base 1:1.8.3 + UpnpSubscriptionRequest_get_ServiceId_Length@Base 1:1.8.3 + UpnpSubscriptionRequest_get_ServiceId_cstr@Base 1:1.8.3 + UpnpSubscriptionRequest_get_UDN@Base 1:1.8.3 + UpnpSubscriptionRequest_get_UDN_Length@Base 1:1.8.3 + UpnpSubscriptionRequest_get_UDN_cstr@Base 1:1.8.3 + UpnpSubscriptionRequest_new@Base 1:1.8.3 + UpnpSubscriptionRequest_set_SID@Base 1:1.8.3 + UpnpSubscriptionRequest_set_ServiceId@Base 1:1.8.3 + UpnpSubscriptionRequest_set_UDN@Base 1:1.8.3 + UpnpSubscriptionRequest_strcpy_SID@Base 1:1.8.3 + UpnpSubscriptionRequest_strcpy_ServiceId@Base 1:1.8.3 + UpnpSubscriptionRequest_strcpy_UDN@Base 1:1.8.3 + UpnpSubscriptionRequest_strncpy_SID@Base 1:1.8.3 + UpnpSubscriptionRequest_strncpy_ServiceId@Base 1:1.8.3 + UpnpSubscriptionRequest_strncpy_UDN@Base 1:1.8.3 + UpnpThreadDistribution@Base 1:1.8.3 + UpnpUnRegisterClient@Base 1:1.8.3 + UpnpUnRegisterRootDevice@Base 1:1.8.3 + UpnpUnRegisterRootDeviceLowPower@Base 1:1.8.3 + UpnpUnSubscribe@Base 1:1.8.3 + UpnpUnSubscribeAsync@Base 1:1.8.3 + UpnpVirtualDir_set_CloseCallback@Base 1:1.8.3 + UpnpVirtualDir_set_GetInfoCallback@Base 1:1.8.3 + UpnpVirtualDir_set_OpenCallback@Base 1:1.8.3 + UpnpVirtualDir_set_ReadCallback@Base 1:1.8.3 + UpnpVirtualDir_set_SeekCallback@Base 1:1.8.3 + UpnpVirtualDir_set_WriteCallback@Base 1:1.8.3 + UpnpWriteHttpPost@Base 1:1.8.3 + UpnpWriteHttpRequest@Base 1:1.8.3 diff -Nru pupnp-1.8-1.8.3/debian/libupnp1.8-dev.install pupnp-1.8-1.8.4/debian/libupnp1.8-dev.install --- pupnp-1.8-1.8.3/debian/libupnp1.8-dev.install 2017-09-23 17:56:47.000000000 +0000 +++ pupnp-1.8-1.8.4/debian/libupnp1.8-dev.install 1970-01-01 00:00:00.000000000 +0000 @@ -1,4 +0,0 @@ -usr/include/* -usr/lib/*/*.a -usr/lib/*/*.so -usr/lib/*/pkgconfig/* diff -Nru pupnp-1.8-1.8.3/debian/libupnp1.8-doc.doc-base pupnp-1.8-1.8.4/debian/libupnp1.8-doc.doc-base --- pupnp-1.8-1.8.3/debian/libupnp1.8-doc.doc-base 2017-09-23 17:56:47.000000000 +0000 +++ pupnp-1.8-1.8.4/debian/libupnp1.8-doc.doc-base 1970-01-01 00:00:00.000000000 +0000 @@ -1,11 +0,0 @@ -Document: pupnp-1.8 -Title: Libupnp: Portable SDK for UPnP Devices, version 1.8 -Abstract: The Portable SDK for UPnP Devices (libupnp) provides developers - with an API and open source code for building control points, devices, - and bridges that are compliant with Version 1.0 of the Universal Plug - and Play Device Architecture Specification. -Section: Programming - -Format: HTML -Index: /usr/share/doc/libupnp1.8-doc/html -Files: /usr/share/doc/libupnp1.8-doc/html/* diff -Nru pupnp-1.8-1.8.3/debian/libupnp1.8-doc.install pupnp-1.8-1.8.4/debian/libupnp1.8-doc.install --- pupnp-1.8-1.8.3/debian/libupnp1.8-doc.install 2017-09-23 17:56:47.000000000 +0000 +++ pupnp-1.8-1.8.4/debian/libupnp1.8-doc.install 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -docs/doxygen/html usr/share/doc/libupnp1.8-doc diff -Nru pupnp-1.8-1.8.3/debian/libupnp-dev.install pupnp-1.8-1.8.4/debian/libupnp-dev.install --- pupnp-1.8-1.8.3/debian/libupnp-dev.install 1970-01-01 00:00:00.000000000 +0000 +++ pupnp-1.8-1.8.4/debian/libupnp-dev.install 2018-11-05 19:55:05.000000000 +0000 @@ -0,0 +1,4 @@ +usr/include/* +usr/lib/*/*.a +usr/lib/*/*.so +usr/lib/*/pkgconfig/* diff -Nru pupnp-1.8-1.8.3/debian/libupnp-doc.doc-base pupnp-1.8-1.8.4/debian/libupnp-doc.doc-base --- pupnp-1.8-1.8.3/debian/libupnp-doc.doc-base 1970-01-01 00:00:00.000000000 +0000 +++ pupnp-1.8-1.8.4/debian/libupnp-doc.doc-base 2018-11-05 19:55:05.000000000 +0000 @@ -0,0 +1,11 @@ +Document: pupnp-1.8 +Title: Libupnp: Portable SDK for UPnP Devices, version 1.8 +Abstract: The Portable SDK for UPnP Devices (libupnp) provides developers + with an API and open source code for building control points, devices, + and bridges that are compliant with Version 1.0 of the Universal Plug + and Play Device Architecture Specification. +Section: Programming + +Format: HTML +Index: /usr/share/doc/libupnp-dev/html +Files: /usr/share/doc/libupnp-dev/html/* diff -Nru pupnp-1.8-1.8.3/debian/libupnp-doc.install pupnp-1.8-1.8.4/debian/libupnp-doc.install --- pupnp-1.8-1.8.3/debian/libupnp-doc.install 1970-01-01 00:00:00.000000000 +0000 +++ pupnp-1.8-1.8.4/debian/libupnp-doc.install 2018-11-05 19:55:05.000000000 +0000 @@ -0,0 +1 @@ +docs/doxygen/html usr/share/doc/libupnp-dev diff -Nru pupnp-1.8-1.8.3/debian/patches/03_update-doc.patch pupnp-1.8-1.8.4/debian/patches/03_update-doc.patch --- pupnp-1.8-1.8.3/debian/patches/03_update-doc.patch 2017-09-23 17:56:47.000000000 +0000 +++ pupnp-1.8-1.8.4/debian/patches/03_update-doc.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,60 +0,0 @@ -Description: Mung the upstream Doxyfile to generate meaningful documentation for Debian -Author: Nick Leverton - ---- a/Doxyfile -+++ b/Doxyfile -@@ -705,7 +705,7 @@ CITE_BIB_FILES = - # messages are off. - # The default value is: NO. - --QUIET = NO -+QUIET = YES - - # The WARNINGS tag can be used to turn on/off the warning messages that are - # generated to standard error (stderr) by doxygen. If WARNINGS is set to YES -@@ -721,7 +721,7 @@ WARNINGS = YES - # will automatically be disabled. - # The default value is: YES. - --WARN_IF_UNDOCUMENTED = YES -+WARN_IF_UNDOCUMENTED = NO - - # If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for - # potential errors in the documentation, such as not documenting some parameters -@@ -729,7 +729,7 @@ WARN_IF_UNDOCUMENTED = YES - # markup commands wrongly. - # The default value is: YES. - --WARN_IF_DOC_ERROR = YES -+WARN_IF_DOC_ERROR = NO - - # This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that - # are documented, but have no documentation for their parameters or return -@@ -970,7 +970,7 @@ REFERENCES_RELATION = YES - # link to the documentation. - # The default value is: YES. - --REFERENCES_LINK_SOURCE = YES -+REFERENCES_LINK_SOURCE = NO - - # If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the - # source code will show a tooltip with additional information such as prototype, -@@ -1589,7 +1589,7 @@ EXTRA_SEARCH_MAPPINGS = - # If the GENERATE_LATEX tag is set to YES, doxygen will generate LaTeX output. - # The default value is: YES. - --GENERATE_LATEX = YES -+GENERATE_LATEX = NO - - # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. If a - # relative path is entered the value of OUTPUT_DIRECTORY will be put in front of -@@ -2028,7 +2028,8 @@ PREDEFINED = DEBUG \ - INCLUDE_CLIENT_APIS \ - SCRIPTSUPPORT \ - EXCLUDE_GENA=0 \ -- EXCLUDE_DOM=0 -+ EXCLUDE_DOM=0 \ -+ EXPORT_SPEC= - - # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this - # tag can be used to specify a list of macro names that should be expanded. The diff -Nru pupnp-1.8-1.8.3/debian/patches/04_optimization-flags.patch pupnp-1.8-1.8.4/debian/patches/04_optimization-flags.patch --- pupnp-1.8-1.8.3/debian/patches/04_optimization-flags.patch 2017-09-23 17:56:47.000000000 +0000 +++ pupnp-1.8-1.8.4/debian/patches/04_optimization-flags.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -Description: Don't build with the -Os flag -Author: James Cowgill -Forwarded: not-needed ---- -This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ ---- a/configure.ac -+++ b/configure.ac -@@ -576,9 +576,6 @@ freebsd*) - #: - # Use -O0 in debug so that variables do not get optimized out - AX_CFLAGS_GCC_OPTION([-O0, -g]) -- else -- # add optimise for size -- AX_CFLAGS_GCC_OPTION([-Os]) - fi - ;; - esac diff -Nru pupnp-1.8-1.8.3/debian/patches/debian-changes pupnp-1.8-1.8.4/debian/patches/debian-changes --- pupnp-1.8-1.8.3/debian/patches/debian-changes 1970-01-01 00:00:00.000000000 +0000 +++ pupnp-1.8-1.8.4/debian/patches/debian-changes 2019-05-19 20:12:40.000000000 +0000 @@ -0,0 +1,53 @@ +The Debian packaging of pupnp-1.8 is maintained in git, using the +merging workflow described in dgit-maint-merge(7). There isn't a +patch queue that can be represented as a quilt series. + +A detailed breakdown of the changes is available from their canonical +representation - git commits in the packaging repository. For +example, to see the changes made by the Debian maintainer in the first +upload of upstream version 1.2.3, you could use: + + % git clone https://git.dgit.debian.org/pupnp-1.8 + % cd pupnp-1.8 + % git log --oneline 1.2.3..debian/1.2.3-1 -- . ':!debian' + +(If you have dgit, use `dgit clone pupnp-1.8`, rather than plain +`git clone`.) + +A single combined diff, containing all the changes, follows. +Index: pupnp-1.8-1.8.4/configure.ac +=================================================================== +--- pupnp-1.8-1.8.4.orig/configure.ac ++++ pupnp-1.8-1.8.4/configure.ac +@@ -573,9 +573,6 @@ freebsd*) + #: + # Use -O0 in debug so that variables do not get optimized out + AX_CFLAGS_GCC_OPTION([-O0, -g]) +- else +- # add optimise for size +- AX_CFLAGS_GCC_OPTION([-Os]) + fi + ;; + esac +@@ -713,6 +710,12 @@ AC_COMPILE_IFELSE( + AC_MSG_ERROR([pthread_rwlock_t not available])])]) + echo "-------------------------------------------------------------------------------" + ++AC_MSG_CHECKING([for LFS_CFLAGS]) ++if test "$cross_compiling" != yes; then ++ lfs_cflags=$(getconf LFS_CFLAGS) ++fi ++AC_MSG_RESULT([$lfs_cflags]) ++AC_SUBST([LFS_CFLAGS], [$lfs_cflags]) + + AC_CONFIG_FILES([ + Makefile +--- pupnp-1.8-1.8.4.orig/libupnp.pc.in ++++ pupnp-1.8-1.8.4/libupnp.pc.in +@@ -7,5 +7,5 @@ Name: libupnp + Description: Linux SDK for UPnP Devices + Version: @VERSION@ + Libs: @PTHREAD_CFLAGS@ @PTHREAD_LIBS@ -L${libdir} -lupnp -lixml +-Cflags: @PTHREAD_CFLAGS@ -I${includedir}/upnp ++Cflags: @PTHREAD_CFLAGS@ -I${includedir}/upnp @LFS_CFLAGS@ + diff -Nru pupnp-1.8-1.8.3/debian/patches/series pupnp-1.8-1.8.4/debian/patches/series --- pupnp-1.8-1.8.3/debian/patches/series 2017-09-23 17:56:47.000000000 +0000 +++ pupnp-1.8-1.8.4/debian/patches/series 2018-11-05 19:55:05.000000000 +0000 @@ -1,3 +1 @@ -# Debian patches -03_update-doc.patch -04_optimization-flags.patch +debian-changes diff -Nru pupnp-1.8-1.8.3/debian/rules pupnp-1.8-1.8.4/debian/rules --- pupnp-1.8-1.8.3/debian/rules 2017-09-23 17:56:47.000000000 +0000 +++ pupnp-1.8-1.8.4/debian/rules 2018-11-05 19:55:05.000000000 +0000 @@ -17,7 +17,8 @@ --without-documentation override_dh_auto_build-indep: - doxygen Doxyfile 2>/dev/null + mkdir -p docs/doxygen + doxygen Doxyfile # Tests disabled because they access the network. override_dh_auto_test: diff -Nru pupnp-1.8-1.8.3/debian/source/options pupnp-1.8-1.8.4/debian/source/options --- pupnp-1.8-1.8.3/debian/source/options 1970-01-01 00:00:00.000000000 +0000 +++ pupnp-1.8-1.8.4/debian/source/options 2018-11-05 19:55:05.000000000 +0000 @@ -0,0 +1,2 @@ +single-debian-patch +auto-commit diff -Nru pupnp-1.8-1.8.3/debian/source/patch-header pupnp-1.8-1.8.4/debian/source/patch-header --- pupnp-1.8-1.8.3/debian/source/patch-header 1970-01-01 00:00:00.000000000 +0000 +++ pupnp-1.8-1.8.4/debian/source/patch-header 2018-11-05 19:55:05.000000000 +0000 @@ -0,0 +1,17 @@ +The Debian packaging of pupnp-1.8 is maintained in git, using the +merging workflow described in dgit-maint-merge(7). There isn't a +patch queue that can be represented as a quilt series. + +A detailed breakdown of the changes is available from their canonical +representation - git commits in the packaging repository. For +example, to see the changes made by the Debian maintainer in the first +upload of upstream version 1.2.3, you could use: + + % git clone https://git.dgit.debian.org/pupnp-1.8 + % cd pupnp-1.8 + % git log --oneline 1.2.3..debian/1.2.3-1 -- . ':!debian' + +(If you have dgit, use `dgit clone pupnp-1.8`, rather than plain +`git clone`.) + +A single combined diff, containing all the changes, follows. diff -Nru pupnp-1.8-1.8.3/debian/tests/build pupnp-1.8-1.8.4/debian/tests/build --- pupnp-1.8-1.8.3/debian/tests/build 2017-09-23 17:56:47.000000000 +0000 +++ pupnp-1.8-1.8.4/debian/tests/build 2018-11-12 08:53:31.000000000 +0000 @@ -14,7 +14,7 @@ cd "$ADTTMP" # Build programs - once with raw libraries and once with pkg-config -gcc -Wall -Werror -o pupnp-test1 pupnp-test.c -I/usr/include/upnp -lupnp +gcc -Wall -Werror -o pupnp-test1 pupnp-test.c -I/usr/include/upnp -lupnp $(getconf LFS_CFLAGS) echo "build1: OK" gcc -Wall -Werror -o pupnp-test2 pupnp-test.c $(pkg-config --cflags --libs libupnp) echo "build2: OK" diff -Nru pupnp-1.8-1.8.3/debian/tests/control pupnp-1.8-1.8.4/debian/tests/control --- pupnp-1.8-1.8.3/debian/tests/control 2017-09-23 17:56:47.000000000 +0000 +++ pupnp-1.8-1.8.4/debian/tests/control 2018-11-05 19:55:05.000000000 +0000 @@ -1,2 +1,2 @@ Tests: build -Depends: build-essential, libupnp1.8-dev, pkg-config +Depends: build-essential, libupnp-dev, pkg-config diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/DOMInterfaces.html pupnp-1.8-1.8.4/docs/dist/html/ixml/DOMInterfaces.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/DOMInterfaces.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/DOMInterfaces.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,48 +0,0 @@ - - - - - DOM Interfaces - - - - -

DOM Interfaces

-
The Document Object Model consists of a set of objects and interfaces -for accessing and manipulating documents. IXML does not implement all -the interfaces documented in the DOM2-Core recommendation but defines -a subset of the most useful interfaces. A description of the supported -interfaces and methods is presented in this section. - -

For a complete discussion on the object model, the object hierarchy, -etc., refer to section 1.1 of the DOM2-Core recommendation.

- -
-
-
- -o -Interface Node
- -o -Interface Attr
- -o -Interface CDATASection
- -o -Interface Document
- -o -Interface Element
- -o -Interface NamedNodeMap
- -o -Interface NodeList
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/General.html pupnp-1.8-1.8.4/docs/dist/html/ixml/General.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/General.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/General.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,16 +0,0 @@ - - - - - General Bits - - - - -
-
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - Binary files /tmp/tmp23Uadf/wb2IpeRfmY/pupnp-1.8-1.8.3/docs/dist/html/ixml/icon1.gif and /tmp/tmp23Uadf/OM9SRuN53O/pupnp-1.8-1.8.4/docs/dist/html/ixml/icon1.gif differ Binary files /tmp/tmp23Uadf/wb2IpeRfmY/pupnp-1.8-1.8.3/docs/dist/html/ixml/icon2.gif and /tmp/tmp23Uadf/OM9SRuN53O/pupnp-1.8-1.8.4/docs/dist/html/ixml/icon2.gif differ diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/index.html pupnp-1.8-1.8.4/docs/dist/html/ixml/index.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/index.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/index.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,41 +0,0 @@ - - - - - IXML v1.2 - - - - -

IXML v1.2

-
-Linux DOM2 XML Parser Version 1.2 - -

Copyright (C) 2000-2003 Intel Corporation ALL RIGHTS RESERVED - -

Revision 1.2.1 (Tue 04 Jul 2006 04:58:36 PM EEST) -

- -
-
-
- -o -Introduction
- -o -License
- -o -BOOL
- -o -DOM Interfaces
- -o -IXML API
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/InterfaceitAttr.html pupnp-1.8-1.8.4/docs/dist/html/ixml/InterfaceitAttr.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/InterfaceitAttr.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/InterfaceitAttr.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,27 +0,0 @@ - - - - - Interface <I>Attr</I> - - - - -

Interface Attr

-
The Attr interface represents an attribute of an Element. -The document type definition (DTD) or schema usually dictate the -allowable attributes and values for a particular element. For more -information, refer to the Interface Attr section in the DOM2-Core.
- -
-
-
- -o -ixmlAttr_free
Frees an Attr node. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/InterfaceitCDATASection.html pupnp-1.8-1.8.4/docs/dist/html/ixml/InterfaceitCDATASection.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/InterfaceitCDATASection.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/InterfaceitCDATASection.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,33 +0,0 @@ - - - - - Interface <I>CDATASection</I> - - - - -

Interface CDATASection

-
The CDATASection is used to escape blocks of text containing -characters that would otherwise be regarded as markup. CDATA sections -cannot be nested. Their primary purpose is for including material such -XML fragments, without needing to escape all the delimiters. For more -information, refer to the Interface CDATASection section in the -DOM2-Core.
- -
-
-
- -o -ixmlCDATASection_init
Initializes a CDATASection node. -
- -o -ixmlCDATASection_free
Frees a CDATASection node. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/InterfaceitDocument.html pupnp-1.8-1.8.4/docs/dist/html/ixml/InterfaceitDocument.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/InterfaceitDocument.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/InterfaceitDocument.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,103 +0,0 @@ - - - - - Interface <I>Document</I> - - - - -

Interface Document

-
The Document interface represents the entire XML document. -In essence, it is the root of the document tree and provides the -primary interface to the elements of the document. For more information, -refer to the Interface Document section in the DOM2Core.
- -
-
-
- -o -ixmlDocument_init
Initializes a Document node. -
- -o -ixmlDocument_createDocumentEx
Creates a new empty Document node. -
- -o -ixmlDocument_createDocument
Creates a new empty Document node. -
- -o -ixmlDocument_createElementEx
Creates a new Element node with the given tag name. -
- -o -ixmlDocument_createElement
Creates a new Element node with the given tag name. -
- -o -ixmlDocument_createTextNodeEx
Creates a new Text node with the given data. -
- -o -ixmlDocument_createTextNode
Creates a new Text node with the given data. -
- -o -ixmlDocument_createCDATASectionEx
Creates a new CDATASection node with given data. -
- -o -ixmlDocument_createCDATASection
Creates a new CDATASection node with given data. -
- -o -ixmlDocument_createAttribute
Creates a new Attr node with the given name. -
- -o -ixmlDocument_createAttributeEx
Creates a new Attr node with the given name. -
- -o -ixmlDocument_getElementsByTagName
Returns a NodeList of all Elements that match the given tag name in the order in which they were encountered in a preorder traversal of the Document tree. -
- -o -ixmlDocument_createElementNSEx
Creates a new Element node in the given qualified name and namespace URI. -
- -o -ixmlDocument_createElementNS
Creates a new Element node in the given qualified name and namespace URI. -
- -o -ixmlDocument_createAttributeNSEx
Creates a new Attr node with the given qualified name and namespace URI. -
- -o -ixmlDocument_createAttributeNS
Creates a new Attr node with the given qualified name and namespace URI. -
- -o -ixmlDocument_getElementsByTagNameNS
Returns a NodeList of Elements that match the given local name and namespace URI in the order they are encountered in a preorder traversal of the Document tree. -
- -o -ixmlDocument_getElementById
Returns the Element whose ID matches that given id. -
- -o -ixmlDocument_free
Frees a Document object and all Nodes associated with it. -
- -o -ixmlDocument_importNode
Imports a Node from another Document into this Document. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/InterfaceitElement.html pupnp-1.8-1.8.4/docs/dist/html/ixml/InterfaceitElement.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/InterfaceitElement.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/InterfaceitElement.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,96 +0,0 @@ - - - - - Interface <I>Element</I> - - - - -

Interface Element

-
The Element interface represents an element in an XML document. -Only Elements are allowed to have attributes, which are stored in the -attributes member of a Node. The Element interface -extends the Node interface and adds more operations to manipulate -attributes.
- -
-
-
- -o -ixmlElement_init
Initializes a IXML_Element node. -
- -o -ixmlElement_getTagName
Returns the name of the tag as a constant string. -
- -o -ixmlElement_getAttribute
Retrieves an attribute of an Element by name. -
- -o -ixmlElement_setAttribute
Adds a new attribute to an Element. -
- -o -ixmlElement_removeAttribute
Removes an attribute by name. -
- -o -ixmlElement_getAttributeNode
Retrieves an attribute node by name. -
- -o -ixmlElement_setAttributeNode
Adds a new attribute node to an Element. -
- -o -ixmlElement_removeAttributeNode
Removes the specified attribute node from an Element. -
- -o -ixmlElement_getElementsByTagName
Returns a NodeList of all descendant Elements with a given tag name, in the order in which they are encountered in a pre-order traversal of this Element tree. -
- -o -ixmlElement_getAttributeNS
Retrieves an attribute value using the local name and namespace URI. -
- -o -ixmlElement_setAttributeNS
Adds a new attribute to an Element using the local name and namespace URI. -
- -o -ixmlElement_removeAttributeNS
Removes an attribute using the namespace URI and local name. -
- -o -ixmlElement_getAttributeNodeNS
Retrieves an Attr node by local name and namespace URI. -
- -o -ixmlElement_setAttributeNodeNS
Adds a new attribute node. -
- -o -ixmlElement_getElementsByTagNameNS
Returns a NodeList of all descendant Elements with a given tag name, in the order in which they are encountered in the pre-order traversal of the Element tree. -
- -o -ixmlElement_hasAttribute
Queries whether the Element has an attribute with the given name or a default value. -
- -o -ixmlElement_hasAttributeNS
Queries whether the Element has an attribute with the given local name and namespace URI or has a default value for that attribute. -
- -o -ixmlElement_free
Frees the given Element and any subtree of the Element. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/InterfaceitNamedNodeMap.html pupnp-1.8-1.8.4/docs/dist/html/ixml/InterfaceitNamedNodeMap.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/InterfaceitNamedNodeMap.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/InterfaceitNamedNodeMap.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,59 +0,0 @@ - - - - - Interface <I>NamedNodeMap</I> - - - - -

Interface NamedNodeMap

-
A NamedNodeMap object represents a list of objects that can be -accessed by name. A NamedNodeMap maintains the objects in -no particular order. The Node interface uses a NamedNodeMap -to maintain the attributes of a node.
- -
-
-
- -o -ixmlNamedNodeMap_getLength
Returns the number of items contained in this NamedNodeMap. -
- -o -ixmlNamedNodeMap_getNamedItem
Retrieves a Node from the NamedNodeMap by name. -
- -o -ixmlNamedNodeMap_setNamedItem
Adds a new Node to the NamedNodeMap using the Node name attribute. -
- -o -ixmlNamedNodeMap_removeNamedItem
Removes a Node from a NamedNodeMap specified by name. -
- -o -ixmlNamedNodeMap_item
Retrieves a Node from a NamedNodeMap specified by a numerical index. -
- -o -ixmlNamedNodeMap_getNamedItemNS
Retrieves a Node from a NamedNodeMap specified by namespace URI and local name. -
- -o -ixmlNamedNodeMap_setNamedItemNS
Adds a new Node to the NamedNodeMap using the Node local name and namespace URI attributes. -
- -o -ixmlNamedNodeMap_removeNamedItemNS
Removes a Node from a NamedNodeMap specified by namespace URI and local name. -
- -o -ixmlNamedNodeMap_free
Frees a NamedNodeMap. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/InterfaceitNode.html pupnp-1.8-1.8.4/docs/dist/html/ixml/InterfaceitNode.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/InterfaceitNode.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/InterfaceitNode.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,114 +0,0 @@ - - - - - Interface <I>Node</I> - - - - -

Interface Node

-
The Node interface forms the primary datatype for all other DOM -objects. Every other interface is derived from this interface, inheriting -its functionality. For more information, refer to DOM2-Core page 34.
- -
-
-
- -o -ixmlNode_getNodeName
Returns the name of the Node, depending on what type of Node it is, in a read-only string. -
- -o -ixmlNode_getNodeValue
Returns the value of the Node as a string. -
- -o -ixmlNode_setNodeValue
Assigns a new value to a Node. -
- -o -ixmlNode_getNodeType
Retrieves the type of a Node. -
- -o -ixmlNode_getParentNode
Retrieves the parent Node for a Node. -
- -o -ixmlNode_getChildNodes
Retrieves the list of children of a Node in a NodeList structure. -
- -o -ixmlNode_getFirstChild
Retrieves the first child Node of a Node. -
- -o -ixmlNode_getLastChild
Retrieves the last child Node of a Node. -
- -o -ixmlNode_getPreviousSibling
Retrieves the sibling Node immediately preceding this Node. -
- -o -ixmlNode_getNextSibling
Retrieves the sibling Node immediately following this Node. -
- -o -ixmlNode_getAttributes
Retrieves the attributes of a Node, if it is an Element node, in a NamedNodeMap structure. -
- -o -ixmlNode_getOwnerDocument
Retrieves the document object associated with this Node. -
- -o -ixmlNode_getNamespaceURI
Retrieves the namespace URI for a Node as a DOMString. -
- -o -ixmlNode_getPrefix
Retrieves the namespace prefix, if present. -
- -o -ixmlNode_getLocalName
Retrieves the local name of a Node, if present. -
- -o -ixmlNode_insertBefore
Inserts a new child Node before the existing child Node. -
- -o -ixmlNode_replaceChild
Replaces an existing child Node with a new child Node in the list of children of a Node. -
- -o -ixmlNode_removeChild
Removes a child from the list of children of a Node. -
- -o -ixmlNode_appendChild
Appends a child Node to the list of children of a Node. -
- -o -ixmlNode_hasChildNodes
Queries whether or not a Node has children. -
- -o -ixmlNode_cloneNode
Clones a Node. -
- -o -ixmlNode_hasAttributes
Queries whether this Node has attributes. -
- -o -ixmlNode_free
Frees a Node and all Nodes in its subtree. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/InterfaceitNodeList.html pupnp-1.8-1.8.4/docs/dist/html/ixml/InterfaceitNodeList.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/InterfaceitNodeList.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/InterfaceitNodeList.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,35 +0,0 @@ - - - - - Interface <I>NodeList</I> - - - - -

Interface NodeList

-
The NodeList interface abstracts an ordered collection of -nodes. Note that changes to the underlying nodes will change -the nodes contained in a NodeList. The DOM2-Core refers to -this as being live.
- -
-
-
- -o -ixmlNodeList_item
Retrieves a Node from a NodeList specified by a numerical index. -
- -o -ixmlNodeList_length
Returns the number of Nodes in a NodeList. -
- -o -ixmlNodeList_free
Frees a NodeList object. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/Introduction.html pupnp-1.8-1.8.4/docs/dist/html/ixml/Introduction.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/Introduction.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/Introduction.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,40 +0,0 @@ - - - - - Introduction - - - - -

Introduction

-
The Linux DOM2 XML Parser Version 1.2 (IXML) is a lightweight, portable XML -parser supporting the standard Document Object Model (DOM) Level 2 -interfaces. The parser uses a C-style interface, making it idea for small, -embedded applications. This document describes the interfaces supported by -IXML 1.2, referencing the W3C DOM2 recommendations when necessary, and the -additional utility application programming interfaces (APIs) that it -supports. - -

Note that this document assumes that the reader has a copy of the DOM2-Core -recommendation. Refer to the link below to obtain a copy. Only a brief -description is included here and the reader is pointed to the DOM2-Core -recommendation for more details. This document does, however, clarify -IXML-specific behavior when the recommendation is unclear. - -

About DOM - -

The Document Object Model (DOM) is a set of interfaces that give a -programmatic interface to documents. It provides a platform-neutral and -language-neutral interface for random access and updating elements inside -XML documents. DOM Level 1 provided the basic interfaces to access -document elements. DOM Level 2 extended the interfaces to provide proper -support for XML namespaces. - -

The latest DOM 2 recommendation is maintained by W3C and is available from -http://www.w3.org/TR/DOM-Level-2-Core.

-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/IXMLAPI.html pupnp-1.8-1.8.4/docs/dist/html/ixml/IXMLAPI.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/IXMLAPI.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/IXMLAPI.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,67 +0,0 @@ - - - - - IXML API - - - - -

IXML API

-
The IXML API contains utility functions that are not part of the standard -DOM interfaces. They include functions to create a DOM structure from a -file or buffer, create an XML file from a DOM structure, and manipulate -DOMString objects.
- -
-
-
- -o -ixmlPrintDocument
Renders a Node and all sub-elements into an XML document representation. -
- -o -ixmlPrintNode
Renders a Node and all sub-elements into an XML text representation. -
- -o -ixmlDocumenttoString
Renders a Node and all sub-elements into an XML document representation. -
- -o -ixmlNodetoString
Renders a Node and all sub-elements into an XML text representation. -
- -o -ixmlRelaxParser
Makes the XML parser more tolerant to malformed text. -
- -o -ixmlParseBuffer
Parses an XML text buffer converting it into an IXML DOM representation. -
- -o -ixmlParseBufferEx
Parses an XML text buffer converting it into an IXML DOM representation. -
- -o -ixmlLoadDocument
Parses an XML text file converting it into an IXML DOM representation. -
- -o -ixmlLoadDocumentEx
Parses an XML text file converting it into an IXML DOM representation. -
- -o -ixmlCloneDOMString
Clones an existing DOMString. -
- -o -ixmlFreeDOMString
Frees a DOMString. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlAttr_free.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlAttr_free.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlAttr_free.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlAttr_free.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ - - - - - EXPORT_SPEC void ixmlAttr_free - - - - -

EXPORT_SPEC void ixmlAttr_free

(IXML_Attr* attrNode )

Frees an Attr node.
- - -
-

Documentation

-
Frees an Attr node. - -

-
Parameters:
attrNode - The Attr node to free.
Returns:
[void] This function does not return a value. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlCDATASection_free.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlCDATASection_free.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlCDATASection_free.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlCDATASection_free.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ - - - - - EXPORT_SPEC void ixmlCDATASection_free - - - - -

EXPORT_SPEC void ixmlCDATASection_free

(IXML_CDATASection* nodeptr )

Frees a CDATASection node.
- - -
-

Documentation

-
Frees a CDATASection node. - -

-
Parameters:
nodeptr - The CDATASection node to free.
Returns:
[void] This function does not return a value. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlCDATASection_init.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlCDATASection_init.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlCDATASection_init.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlCDATASection_init.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ - - - - - EXPORT_SPEC void ixmlCDATASection_init - - - - -

EXPORT_SPEC void ixmlCDATASection_init

(IXML_CDATASection* nodeptr )

Initializes a CDATASection node.
- - -
-

Documentation

-
Initializes a CDATASection node. - -

-
Parameters:
nodeptr - The CDATASection node to initialize.
Returns:
[void] This function does not return a value. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlCloneDOMString.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlCloneDOMString.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlCloneDOMString.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlCloneDOMString.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ - - - - - EXPORT_SPEC DOMString ixmlCloneDOMString - - - - -

EXPORT_SPEC DOMString ixmlCloneDOMString

(const DOMString src )

Clones an existing DOMString.
- - -
-

Documentation

-
Clones an existing DOMString. - -

-
Parameters:
src - The source DOMString to clone.
Returns:
[DOMString] A new DOMString that is a duplicate of the -original or NULL if the operation could not -be completed. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlDocument_createAttributeEx.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlDocument_createAttributeEx.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlDocument_createAttributeEx.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlDocument_createAttributeEx.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,38 +0,0 @@ - - - - - EXPORT_SPEC int ixmlDocument_createAttributeEx - - - - -

EXPORT_SPEC int ixmlDocument_createAttributeEx

(IXML_Document* doc,
  char* name,
  IXML_Attr** attrNode )

Creates a new Attr node with the given name.
- - -
-

Documentation

-
Creates a new Attr node with the given name. - -

The ixmlDocument_createAttributeEx API differs from the -ixmlDocument_createAttribute API in that it returns an error code -describing the reason for failure rather than just NULL. - -

-
Parameters:
doc - The owner Document of the new -node. -
name - The name of the new attribute. -
attrNode - A pointer to a Attr where the new -object will be stored.
Returns:
[int] An integer representing one of the following: -
    -
  • IXML_SUCCESS: The operation completed successfully. -
  • IXML_INVALID_PARAMETER: Either doc or name -is NULL. -
  • IXML_INSUFFICIENT_MEMORY: Not enough free memory exists -to complete this operation. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlDocument_createAttribute.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlDocument_createAttribute.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlDocument_createAttribute.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlDocument_createAttribute.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,24 +0,0 @@ - - - - - EXPORT_SPEC IXML_Attr* ixmlDocument_createAttribute - - - - -

EXPORT_SPEC IXML_Attr* ixmlDocument_createAttribute

(IXML_Document* doc,
  char* name )

Creates a new Attr node with the given name.
- - -
-

Documentation

-
Creates a new Attr node with the given name. - -

-
Parameters:
doc - The owner Document of the new node. -
name - The name of the new attribute.
Returns:
[Attr*] A pointer to the new Attr or NULL on failure. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlDocument_createAttributeNSEx.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlDocument_createAttributeNSEx.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlDocument_createAttributeNSEx.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlDocument_createAttributeNSEx.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,40 +0,0 @@ - - - - - EXPORT_SPEC int ixmlDocument_createAttributeNSEx - - - - -

EXPORT_SPEC int ixmlDocument_createAttributeNSEx

(IXML_Document* doc,
  DOMString namespaceURI,
  DOMString qualifiedName,
  IXML_Attr** attrNode )

Creates a new Attr node with the given qualified name and namespace URI.
- - -
-

Documentation

-
Creates a new Attr node with the given qualified name and -namespace URI. - -

The ixmlDocument_createAttributeNSEx API differs from the -ixmlDocument_createAttributeNS API in that it returns an error code -describing the reason for failure rather than just NULL. - -

-
Parameters:
doc - The owner Document of the new -Attr. -
namespaceURI - The namespace URI for the attribute. -
qualifiedName - The qualified name of the attribute. -
attrNode - A pointer to an Attr where the -new object will be stored.
Returns:
[int] An integer representing one of the following: -
    -
  • IXML_SUCCESS: The operation completed successfully. -
  • IXML_INVALID_PARAMETER: Either doc, -namespaceURI, or qualifiedName is NULL. -
  • IXML_INSUFFICIENT_MEMORY: Not enough free memory exists -to complete this operation. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlDocument_createAttributeNS.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlDocument_createAttributeNS.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlDocument_createAttributeNS.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlDocument_createAttributeNS.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,27 +0,0 @@ - - - - - EXPORT_SPEC IXML_Attr* ixmlDocument_createAttributeNS - - - - -

EXPORT_SPEC IXML_Attr* ixmlDocument_createAttributeNS

(IXML_Document* doc,
  DOMString namespaceURI,
  DOMString qualifiedName )

Creates a new Attr node with the given qualified name and namespace URI.
- - -
-

Documentation

-
Creates a new Attr node with the given qualified name and -namespace URI. - -

-
Parameters:
doc - The owner Document of the new -Attr. -
namespaceURI - The namespace URI for the attribute. -
qualifiedName - The qualified name of the attribute.
Returns:
[Attr*] A pointer to the new Attr or NULL on failure. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlDocument_createCDATASectionEx.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlDocument_createCDATASectionEx.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlDocument_createCDATASectionEx.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlDocument_createCDATASectionEx.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,39 +0,0 @@ - - - - - EXPORT_SPEC int ixmlDocument_createCDATASectionEx - - - - -

EXPORT_SPEC int ixmlDocument_createCDATASectionEx

(IXML_Document* doc,
  DOMString data,
  IXML_CDATASection** cdNode )

Creates a new CDATASection node with given data.
- - -
-

Documentation

-
Creates a new CDATASection node with given data. - -

The ixmlDocument_createCDATASectionEx API differs from the -ixmlDocument_createCDATASection API in that it returns an error code -describing the reason for failure rather than just NULL. - -

-
Parameters:
doc - The owner Document of the new -node. -
data - The data to associate with the new -CDATASection node. -
cdNode - A pointer to a Node where the -new object will be stored.
Returns:
[int] An integer representing one of the following: -
    -
  • IXML_SUCCESS: The operation completed successfully. -
  • IXML_INVALID_PARAMETER: Either doc or {\bd data} -is NULL. -
  • IXML_INSUFFICIENT_MEMORY: Not enough free memory exists -to complete this operation. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlDocument_createCDATASection.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlDocument_createCDATASection.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlDocument_createCDATASection.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlDocument_createCDATASection.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,27 +0,0 @@ - - - - - EXPORT_SPEC IXML_CDATASection* ixmlDocument_createCDATASection - - - - -

EXPORT_SPEC IXML_CDATASection* ixmlDocument_createCDATASection

(IXML_Document* doc,
  DOMString data )

Creates a new CDATASection node with given data.
- - -
-

Documentation

-
Creates a new CDATASection node with given data. - -

-
Parameters:
doc - The owner Document of the new -node. -
data - The data to associate with the new -CDATASection node.
Returns:
[CDATASection*] A pointer to the new CDATASection or -NULL on failure. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlDocument_createDocumentEx.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlDocument_createDocumentEx.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlDocument_createDocumentEx.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlDocument_createDocumentEx.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,32 +0,0 @@ - - - - - EXPORT_SPEC int ixmlDocument_createDocumentEx - - - - -

EXPORT_SPEC int ixmlDocument_createDocumentEx

(IXML_Document** doc )

Creates a new empty Document node.
- - -
-

Documentation

-
Creates a new empty Document node. The -ixmlDocument_createDocumentEx API differs from the -ixmlDocument_createDocument API in that it returns an error code -describing the reason for the failure rather than just NULL. - -

-
Parameters:
doc - Pointer to a Document where the -new object will be stored.
Returns:
[int] An integer representing one of the following: -
    -
  • IXML_SUCCESS: The operation completed successfully. -
  • IXML_INSUFFICIENT_MEMORY: Not enough free memory exists -to complete this operation. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlDocument_createDocument.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlDocument_createDocument.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlDocument_createDocument.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlDocument_createDocument.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ - - - - - EXPORT_SPEC IXML_Document* ixmlDocument_createDocument - - - - -

EXPORT_SPEC IXML_Document* ixmlDocument_createDocument

()

Creates a new empty Document node.
- - -
-

Documentation

-
Creates a new empty Document node. - -

-
Returns:
[Document*] A pointer to the new Document or NULL on -failure.

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlDocument_createElementEx.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlDocument_createElementEx.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlDocument_createElementEx.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlDocument_createElementEx.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,42 +0,0 @@ - - - - - EXPORT_SPEC int ixmlDocument_createElementEx - - - - -

EXPORT_SPEC int ixmlDocument_createElementEx

(IXML_Document* doc,
  const DOMString tagName,
  IXML_Element** rtElement )

Creates a new Element node with the given tag name.
- - -
-

Documentation

-
Creates a new Element node with the given tag name. The new -Element node has a nodeName of tagName and -the localName, prefix, and namespaceURI set -to NULL. To create an Element with a namespace, -see ixmlDocument_createElementNS. - -

The ixmlDocument_createElementEx API differs from the -ixmlDocument_createElement API in that it returns an error code -describing the reason for failure rather than just NULL. - -

-
Parameters:
doc - The owner Document of the new node. -
tagName - The tag name of the new Element -node. -
rtElement - Pointer to an Element where the new -object will be stored.
Returns:
[int] An integer representing one of the following: -
    -
  • IXML_SUCCESS: The operation completed successfully. -
  • IXML_INVALID_PARAMETER: Either doc or -tagName is NULL. -
  • IXML_INSUFFICIENT_MEMORY: Not enough free memory exists -to complete this operation. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlDocument_createElement.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlDocument_createElement.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlDocument_createElement.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlDocument_createElement.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,29 +0,0 @@ - - - - - EXPORT_SPEC IXML_Element* ixmlDocument_createElement - - - - -

EXPORT_SPEC IXML_Element* ixmlDocument_createElement

(IXML_Document* doc,
  const DOMString tagName )

Creates a new Element node with the given tag name.
- - -
-

Documentation

-
Creates a new Element node with the given tag name. The new -Element node has a nodeName of tagName and -the localName, prefix, and namespaceURI set -to NULL. To create an Element with a namespace, -see ixmlDocument_createElementNS. - -

-
Parameters:
doc - The owner Document of the new node. -
tagName - The tag name of the new Element node.
Returns:
[Document*] A pointer to the new Element or NULL on -failure. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlDocument_createElementNSEx.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlDocument_createElementNSEx.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlDocument_createElementNSEx.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlDocument_createElementNSEx.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,42 +0,0 @@ - - - - - EXPORT_SPEC int ixmlDocument_createElementNSEx - - - - -

EXPORT_SPEC int ixmlDocument_createElementNSEx

(IXML_Document* doc,
  DOMString namespaceURI,
  DOMString qualifiedName,
  IXML_Element** rtElement )

Creates a new Element node in the given qualified name and namespace URI.
- - -
-

Documentation

-
Creates a new Element node in the given qualified name and -namespace URI. - -

The ixmlDocument_createElementNSEx API differs from the -ixmlDocument_createElementNS API in that it returns an error code -describing the reason for failure rather than just NULL. - -

-
Parameters:
doc - The owner Document of the new -node. -
namespaceURI - The namespace URI for the new -Element. -
qualifiedName - The qualified name of the new -Element. -
rtElement - A pointer to an Element where the -new object will be stored.
Returns:
[int] An integer representing one of the following: -
    -
  • IXML_SUCCESS: The operation completed successfully. -
  • IXML_INVALID_PARAMETER: Either doc, -namespaceURI, or qualifiedName is NULL. -
  • IXML_INSUFFICIENT_MEMORY: Not enough free memory exists -to complete this operation. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlDocument_createElementNS.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlDocument_createElementNS.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlDocument_createElementNS.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlDocument_createElementNS.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,29 +0,0 @@ - - - - - EXPORT_SPEC IXML_Element* ixmlDocument_createElementNS - - - - -

EXPORT_SPEC IXML_Element* ixmlDocument_createElementNS

(IXML_Document* doc,
  DOMString namespaceURI,
  DOMString qualifiedName )

Creates a new Element node in the given qualified name and namespace URI.
- - -
-

Documentation

-
Creates a new Element node in the given qualified name and -namespace URI. - -

-
Parameters:
doc - The owner Document of the new node. -
namespaceURI - The namespace URI for the new -Element. -
qualifiedName - The qualified name of the new -Element.
Returns:
[Element*] A pointer to the new Element or NULL on -failure. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlDocument_createTextNodeEx.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlDocument_createTextNodeEx.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlDocument_createTextNodeEx.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlDocument_createTextNodeEx.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,37 +0,0 @@ - - - - - EXPORT_SPEC int ixmlDocument_createTextNodeEx - - - - -

EXPORT_SPEC int ixmlDocument_createTextNodeEx

(IXML_Document* doc,
  const DOMString data,
  IXML_Node** textNode )

Creates a new Text node with the given data.
- - -
-

Documentation

-
Creates a new Text node with the given data. -The ixmlDocument_createTextNodeEx API differs from the -ixmlDocument_createTextNode API in that it returns an error code -describing the reason for failure rather than just NULL. - -

-
Parameters:
doc - The owner Document of the new node. -
data - The data to associate with the new -Text node. -
textNode - A pointer to a Node where the new -object will be stored.
Returns:
[int] An integer representing one of the following: -
    -
  • IXML_SUCCESS: The operation completed successfully. -
  • IXML_INVALID_PARAMETER: Either doc or data -is NULL. -
  • IXML_INSUFFICIENT_MEMORY: Not enough free memory exists -to complete this operation. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlDocument_createTextNode.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlDocument_createTextNode.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlDocument_createTextNode.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlDocument_createTextNode.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ - - - - - EXPORT_SPEC IXML_Node* ixmlDocument_createTextNode - - - - -

EXPORT_SPEC IXML_Node* ixmlDocument_createTextNode

(IXML_Document* doc,
  const DOMString data )

Creates a new Text node with the given data.
- - -
-

Documentation

-
Creates a new Text node with the given data. - -

-
Parameters:
doc - The owner Document of the new node. -
data - The data to associate with the new Text -node.
Returns:
[Node*] A pointer to the new Node or NULL on failure. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlDocument_free.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlDocument_free.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlDocument_free.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlDocument_free.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,26 +0,0 @@ - - - - - EXPORT_SPEC void ixmlDocument_free - - - - -

EXPORT_SPEC void ixmlDocument_free

(IXML_Document* doc )

Frees a Document object and all Nodes associated with it.
- - -
-

Documentation

-
Frees a Document object and all Nodes associated with it. -Any Nodes extracted via any other interface function, e.g. -ixmlDocument_GetElementById, become invalid after this call unless -explicitly cloned. - -

-
Parameters:
doc - The Document to free.
Returns:
[void] This function does not return a value. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlDocument_getElementById.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlDocument_getElementById.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlDocument_getElementById.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlDocument_getElementById.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,26 +0,0 @@ - - - - - EXPORT_SPEC IXML_Element* ixmlDocument_getElementById - - - - -

EXPORT_SPEC IXML_Element* ixmlDocument_getElementById

(IXML_Document* doc,
  DOMString tagName )

Returns the Element whose ID matches that given id.
- - -
-

Documentation

-
Returns the Element whose ID matches that given id. - -

-
Parameters:
doc - The owner Document of the -Element. -
tagName - The name of the Element.
Returns:
[Element*] A pointer to the matching Element or -NULL on an error. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlDocument_getElementsByTagName.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlDocument_getElementsByTagName.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlDocument_getElementsByTagName.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlDocument_getElementsByTagName.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,27 +0,0 @@ - - - - - EXPORT_SPEC IXML_NodeList* ixmlDocument_getElementsByTagName - - - - -

EXPORT_SPEC IXML_NodeList* ixmlDocument_getElementsByTagName

(IXML_Document* doc,
  DOMString tagName )

Returns a NodeList of all Elements that match the given tag name in the order in which they were encountered in a preorder traversal of the Document tree.
- - -
-

Documentation

-
Returns a NodeList of all Elements that match the given -tag name in the order in which they were encountered in a preorder -traversal of the Document tree. - -

-
Parameters:
doc - The Document to search. -
tagName - The tag name to find.
Returns:
[NodeList*] A pointer to a NodeList containing the -matching items or NULL on an error. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlDocument_getElementsByTagNameNS.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlDocument_getElementsByTagNameNS.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlDocument_getElementsByTagNameNS.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlDocument_getElementsByTagNameNS.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,34 +0,0 @@ - - - - - EXPORT_SPEC IXML_NodeList* ixmlDocument_getElementsByTagNameNS - - - - -

EXPORT_SPEC IXML_NodeList* ixmlDocument_getElementsByTagNameNS

(IXML_Document* doc,
  DOMString namespaceURI,
  DOMString localName )

Returns a NodeList of Elements that match the given local name and namespace URI in the order they are encountered in a preorder traversal of the Document tree.
- - -
-

Documentation

-
Returns a NodeList of Elements that match the given -local name and namespace URI in the order they are encountered -in a preorder traversal of the Document tree. Either -namespaceURI or localName can be the special "*" -character, which matches any namespace or any local name respectively. - -

-
Parameters:
doc - The Document to search. -
namespaceURI - The namespace of the elements to -find or "*" to match any -namespace. -
localName - The local name of the elements to -find or "*" to match any local -name.
Returns:
[NodeList*] A pointer to a NodeList containing the -matching items or NULL on an error. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlDocument_importNode.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlDocument_importNode.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlDocument_importNode.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlDocument_importNode.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,43 +0,0 @@ - - - - - EXPORT_SPEC int ixmlDocument_importNode - - - - -

EXPORT_SPEC int ixmlDocument_importNode

(IXML_Document* doc,
  IXML_Node* importNode,
  BOOL deep,
  IXML_Node** rtNode )

Imports a Node from another Document into this Document.
- - -
-

Documentation

-
Imports a Node from another Document into this -Document. The new Node does not a have parent node: it is a -clone of the original Node with the ownerDocument set to -doc. The deep parameter controls whether all the children -of the Node are imported. Refer to the DOM2-Core recommendation -for details on importing specific node types. - -

-
Parameters:
doc - The Document into which to import. -
importNode - The Node to import. -
deep - TRUE to import all children of -importNode or FALSE to import only the -root node. -
rtNode - A pointer to a new Node owned by -doc.
Returns:
[int] An integer representing one of the following: -
    -
  • IXML_SUCCESS: The operation completed successfully. -
  • IXML_INVALID_PARAMETER: Either doc or -importNode is not a valid pointer. -
  • IXML_NOT_SUPPORTED_ERR: importNode is a -Document, which cannot be imported. -
  • IXML_FAILED: The import operation failed because the -Node to be imported could not be cloned. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlDocument_init.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlDocument_init.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlDocument_init.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlDocument_init.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ - - - - - EXPORT_SPEC void ixmlDocument_init - - - - -

EXPORT_SPEC void ixmlDocument_init

(IXML_Document* nodeptr )

Initializes a Document node.
- - -
-

Documentation

-
Initializes a Document node. - -

-
Parameters:
nodeptr - The Document node to initialize.
Returns:
[void] This function does not return a value. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlDocumenttoString.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlDocumenttoString.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlDocumenttoString.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlDocumenttoString.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,33 +0,0 @@ - - - - - DOMString ixmlDocumenttoString - - - - -

DOMString ixmlDocumenttoString

(IXML_Document* doc)

Renders a Node and all sub-elements into an XML document representation.
- - -
-

Documentation

-
Renders a Node and all sub-elements into an XML document -representation. The caller is required to free the DOMString -returned from this function using ixmlFreeDOMString when it -is no longer required. - -

Note that this function can be used for any Node-derived -interface. The difference between ixmlDocumenttoString and -ixmlNodetoString is ixmlDocumenttoString includes the XML -prolog while ixmlNodetoString only produces XML elements. An XML -document is not well formed unless it includes the prolog -and at least one element. - -

-
Returns:
[DOMString] A DOMString with the XML text representation -of the DOM tree or NULL on an error.

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlElement_free.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlElement_free.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlElement_free.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlElement_free.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ - - - - - EXPORT_SPEC void ixmlElement_free - - - - -

EXPORT_SPEC void ixmlElement_free

(IXML_Element* element )

Frees the given Element and any subtree of the Element.
- - -
-

Documentation

-
Frees the given Element and any subtree of the Element. - -

-
Parameters:
element - The Element to free.
Returns:
[void] This function does not return a value. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlElement_getAttribute.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlElement_getAttribute.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlElement_getAttribute.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlElement_getAttribute.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,26 +0,0 @@ - - - - - EXPORT_SPEC DOMString ixmlElement_getAttribute - - - - -

EXPORT_SPEC DOMString ixmlElement_getAttribute

(IXML_Element* element,
  DOMString name )

Retrieves an attribute of an Element by name.
- - -
-

Documentation

-
Retrieves an attribute of an Element by name. - -

-
Parameters:
element - The Element from which to retrieve the -attribute. -
name - The name of the attribute to retrieve.
Returns:
[DOMString] A DOMString representing the value of the -attribute. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlElement_getAttributeNode.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlElement_getAttributeNode.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlElement_getAttributeNode.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlElement_getAttributeNode.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,28 +0,0 @@ - - - - - EXPORT_SPEC IXML_Attr* ixmlElement_getAttributeNode - - - - -

EXPORT_SPEC IXML_Attr* ixmlElement_getAttributeNode

(IXML_Element* element,
  DOMString name )

Retrieves an attribute node by name.
- - -
-

Documentation

-
Retrieves an attribute node by name. See -ixmlElement_getAttributeNodeNS to retrieve an attribute node using -a qualified name or namespace URI. - -

-
Parameters:
element - The Element from which to get the -attribute node. -
name - The name of the attribute node to find.
Returns:
[Attr*] A pointer to the attribute matching name or -NULL on an error. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlElement_getAttributeNodeNS.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlElement_getAttributeNodeNS.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlElement_getAttributeNodeNS.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlElement_getAttributeNodeNS.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,26 +0,0 @@ - - - - - EXPORT_SPEC IXML_Attr* ixmlElement_getAttributeNodeNS - - - - -

EXPORT_SPEC IXML_Attr* ixmlElement_getAttributeNodeNS

(IXML_Element* element,
  DOMString namespaceURI,
  DOMString localName )

Retrieves an Attr node by local name and namespace URI.
- - -
-

Documentation

-
Retrieves an Attr node by local name and namespace URI. - -

-
Parameters:
element - The Element from which to get the -attribute. -
namespaceURI - The namespace URI of the attribute. -
localName - The local name of the attribute.
Returns:
[Attr*] A pointer to an Attr or NULL on an error. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlElement_getAttributeNS.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlElement_getAttributeNS.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlElement_getAttributeNS.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlElement_getAttributeNS.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,27 +0,0 @@ - - - - - EXPORT_SPEC DOMString ixmlElement_getAttributeNS - - - - -

EXPORT_SPEC DOMString ixmlElement_getAttributeNS

(IXML_Element* element,
  DOMString namespaceURI,
  DOMString localname )

Retrieves an attribute value using the local name and namespace URI.
- - -
-

Documentation

-
Retrieves an attribute value using the local name and namespace URI. - -

-
Parameters:
element - The Element from which to get the -attribute value. -
namespaceURI - The namespace URI of the attribute. -
localname - The local name of the attribute.
Returns:
[DOMString] A DOMString representing the value of the -matching attribute. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlElement_getElementsByTagName.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlElement_getElementsByTagName.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlElement_getElementsByTagName.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlElement_getElementsByTagName.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,29 +0,0 @@ - - - - - EXPORT_SPEC IXML_NodeList* ixmlElement_getElementsByTagName - - - - -

EXPORT_SPEC IXML_NodeList* ixmlElement_getElementsByTagName

(IXML_Element* element,
  DOMString tagName )

Returns a NodeList of all descendant Elements with a given tag name, in the order in which they are encountered in a pre-order traversal of this Element tree.
- - -
-

Documentation

-
Returns a NodeList of all descendant Elements with -a given tag name, in the order in which they are encountered in a -pre-order traversal of this Element tree. - -

-
Parameters:
element - The Element from which to start -the search. -
tagName - The name of the tag for which to -search.
Returns:
[NodeList*] A NodeList of the matching Elements or -NULL on an error. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlElement_getElementsByTagNameNS.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlElement_getElementsByTagNameNS.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlElement_getElementsByTagNameNS.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlElement_getElementsByTagNameNS.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ - - - - - EXPORT_SPEC IXML_NodeList* ixmlElement_getElementsByTagNameNS - - - - -

EXPORT_SPEC IXML_NodeList* ixmlElement_getElementsByTagNameNS

(IXML_Element* element,
  DOMString namespaceURI,
  DOMString localName )

Returns a NodeList of all descendant Elements with a given tag name, in the order in which they are encountered in the pre-order traversal of the Element tree.
- - -
-

Documentation

-
Returns a NodeList of all descendant Elements with a -given tag name, in the order in which they are encountered in the -pre-order traversal of the Element tree. - -

-
Parameters:
element - The Element from which to start -the search. -
namespaceURI - The namespace URI of the -Elements to find. -
localName - The local name of the Elements -to find.
Returns:
[NodeList*] A NodeList of matching Elements or -NULL on an error. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlElement_getTagName.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlElement_getTagName.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlElement_getTagName.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlElement_getTagName.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ - - - - - EXPORT_SPEC const DOMString ixmlElement_getTagName - - - - -

EXPORT_SPEC const DOMString ixmlElement_getTagName

(IXML_Element* element )

Returns the name of the tag as a constant string.
- - -
-

Documentation

-
Returns the name of the tag as a constant string. - -

-
Parameters:
element - The Element from which to retrieve the -name.
Returns:
[const DOMString] A DOMString representing the name of the -Element. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlElement_hasAttribute.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlElement_hasAttribute.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlElement_hasAttribute.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlElement_hasAttribute.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,28 +0,0 @@ - - - - - EXPORT_SPEC BOOL ixmlElement_hasAttribute - - - - -

EXPORT_SPEC BOOL ixmlElement_hasAttribute

(IXML_Element* element,
  DOMString name )

Queries whether the Element has an attribute with the given name or a default value.
- - -
-

Documentation

-
Queries whether the Element has an attribute with the given name -or a default value. - -

-
Parameters:
element - The Element on which to check for an -attribute. -
name - The name of the attribute for which to check.
Returns:
[BOOL] TRUE if the Element has an attribute with -this name or has a default value for that attribute, -otherwise FALSE. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlElement_hasAttributeNS.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlElement_hasAttributeNS.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlElement_hasAttributeNS.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlElement_hasAttributeNS.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,29 +0,0 @@ - - - - - EXPORT_SPEC BOOL ixmlElement_hasAttributeNS - - - - -

EXPORT_SPEC BOOL ixmlElement_hasAttributeNS

(IXML_Element* element,
  DOMString namespaceURI,
  DOMString localName )

Queries whether the Element has an attribute with the given local name and namespace URI or has a default value for that attribute.
- - -
-

Documentation

-
Queries whether the Element has an attribute with the given -local name and namespace URI or has a default value for that attribute. - -

-
Parameters:
element - The Element on which to check for the -attribute. -
namespaceURI - The namespace URI of the attribute. -
localName - The local name of the attribute.
Returns:
[BOOL] TRUE if the Element has an attribute with -the given namespace and local name or has a default -value for that attribute, otherwise FALSE. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlElement_init.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlElement_init.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlElement_init.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlElement_init.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ - - - - - EXPORT_SPEC void ixmlElement_init - - - - -

EXPORT_SPEC void ixmlElement_init

(IXML_Element* element )

Initializes a IXML_Element node.
- - -
-

Documentation

-
Initializes a IXML_Element node. - -

-
Parameters:
element - The Element to initialize.
Returns:
[void] This function does not return a value. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlElement_removeAttribute.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlElement_removeAttribute.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlElement_removeAttribute.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlElement_removeAttribute.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,30 +0,0 @@ - - - - - EXPORT_SPEC int ixmlElement_removeAttribute - - - - -

EXPORT_SPEC int ixmlElement_removeAttribute

(IXML_Element* element,
  DOMString name )

Removes an attribute by name.
- - -
-

Documentation

-
Removes an attribute by name. - -

-
Parameters:
element - The Element from which to remove the -attribute. -
name - The name of the attribute to remove.
Returns:
[int] An integer representing one of the following: -
    -
  • IXML_SUCCESS: The operation completed successfully. -
  • IXML_INVALID_PARAMETER: Either element or -name is NULL. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlElement_removeAttributeNode.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlElement_removeAttributeNode.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlElement_removeAttributeNode.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlElement_removeAttributeNode.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,35 +0,0 @@ - - - - - EXPORT_SPEC int ixmlElement_removeAttributeNode - - - - -

EXPORT_SPEC int ixmlElement_removeAttributeNode

(IXML_Element* element,
  IXML_Attr* oldAttr,
  IXML_Attr** rtAttr )

Removes the specified attribute node from an Element.
- - -
-

Documentation

-
Removes the specified attribute node from an Element. - -

-
Parameters:
element - The Element from which to remove -the attribute. -
oldAttr - The attribute to remove from the -Element. -
rtAttr - A pointer to an attribute in which to -place the removed attribute.
Returns:
[int] An integer representing one of the following: -
    -
  • IXML_SUCCESS: The operation completed successfully. -
  • IXML_INVALID_PARAMETER: Either element or -oldAttr is NULL. -
  • IXML_NOT_FOUND_ERR: oldAttr is not among the list -attributes of element. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlElement_removeAttributeNS.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlElement_removeAttributeNS.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlElement_removeAttributeNS.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlElement_removeAttributeNS.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ - - - - - EXPORT_SPEC int ixmlElement_removeAttributeNS - - - - -

EXPORT_SPEC int ixmlElement_removeAttributeNS

(IXML_Element* element,
  DOMString namespaceURI,
  DOMString localName )

Removes an attribute using the namespace URI and local name.
- - -
-

Documentation

-
Removes an attribute using the namespace URI and local name. - -

-
Parameters:
element - The Element from which to remove the -the attribute. -
namespaceURI - The namespace URI of the attribute. -
localName - The local name of the attribute.
Returns:
[int] An integer representing one of the following: -
    -
  • IXML_SUCCESS: The operation completed successfully. -
  • IXML_INVALID_PARAMETER: Either element, -namespaceURI, or localName is NULL. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlElement_setAttribute.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlElement_setAttribute.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlElement_setAttribute.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlElement_setAttribute.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,39 +0,0 @@ - - - - - EXPORT_SPEC int ixmlElement_setAttribute - - - - -

EXPORT_SPEC int ixmlElement_setAttribute

(IXML_Element* element,
  DOMString name,
  DOMString value )

Adds a new attribute to an Element.
- - -
-

Documentation

-
Adds a new attribute to an Element. If an attribute with the same -name already exists, the attribute value will be updated with the -new value in value. - -

-
Parameters:
element - The Element on which to set the -attribute. -
name - The name of the attribute. -
value - The value of the attribute. Note that this is -a non-parsed string and any markup must be -escaped.
Returns:
[int] An integer representing of the following: -
    -
  • IXML_SUCCESS: The operation completed successfully. -
  • IXML_INVALID_PARAMETER: Either element, -name, or value is NULL. -
  • IXML_INVALID_CHARACTER_ERR: name contains an -illegal character. -
  • IXML_INSUFFICIENT_MEMORY: Not enough free memory exists -to complete the operation. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlElement_setAttributeNode.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlElement_setAttributeNode.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlElement_setAttributeNode.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlElement_setAttributeNode.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,40 +0,0 @@ - - - - - EXPORT_SPEC int ixmlElement_setAttributeNode - - - - -

EXPORT_SPEC int ixmlElement_setAttributeNode

(IXML_Element* element,
  IXML_Attr* newAttr,
  IXML_Attr** rtAttr )

Adds a new attribute node to an Element.
- - -
-

Documentation

-
Adds a new attribute node to an Element. If an attribute already -exists with newAttr as a name, it will be replaced with the -new one and the old one will be returned in rtAttr. - -

-
Parameters:
element - The Element in which to add the new -attribute. -
newAttr - The new Attr to add. -
rtAttr - A pointer to an Attr where the old -Attr will be stored. This will have -a NULL if no prior node -existed.
Returns:
[int] An integer representing one of the following: -
    -
  • IXML_SUCCESS: The operation completed successfully. -
  • IXML_INVALID_PARAMETER: Either element or -newAttr is NULL. -
  • IXML_WRONG_DOCUMENT_ERR: newAttr does not belong -to the same one as element. -
  • IXML_INUSE_ATTRIBUTE_ERR: newAttr is already -an attribute of another Element. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlElement_setAttributeNodeNS.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlElement_setAttributeNodeNS.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlElement_setAttributeNodeNS.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlElement_setAttributeNodeNS.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,39 +0,0 @@ - - - - - EXPORT_SPEC int ixmlElement_setAttributeNodeNS - - - - -

EXPORT_SPEC int ixmlElement_setAttributeNodeNS

(IXML_Element* element,
  IXML_Attr* newAttr,
  IXML_Attr** rcAttr )

Adds a new attribute node.
- - -
-

Documentation

-
Adds a new attribute node. If an attribute with the same local name -and namespace URI already exists in the Element, the existing -attribute node is replaced with newAttr and the old returned in -rcAttr. - -

-
Parameters:
element - The Element in which to add the -attribute node. -
newAttr - The new Attr to add. -
rcAttr - A pointer to the replaced Attr, if -it exists.
Returns:
[int] An integer representing one of the following: -
    -
  • IXML_SUCCESS: The operation completed successfully. -
  • IXML_INVALID_PARAMETER: Either element or -newAttr is NULL. -
  • IXML_WRONG_DOCUMENT_ERR: newAttr does not belong -to the same document as element. -
  • IXML_INUSE_ATTRIBUTE_ERR: newAttr already is an -attribute of another Element. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlElement_setAttributeNS.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlElement_setAttributeNS.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlElement_setAttributeNS.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlElement_setAttributeNS.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,44 +0,0 @@ - - - - - EXPORT_SPEC int ixmlElement_setAttributeNS - - - - -

EXPORT_SPEC int ixmlElement_setAttributeNS

(IXML_Element* element,
  DOMString namespaceURI,
  DOMString qualifiedName,
  DOMString value )

Adds a new attribute to an Element using the local name and namespace URI.
- - -
-

Documentation

-
Adds a new attribute to an Element using the local name and -namespace URI. If another attribute matches the same local name and -namespace, the prefix is changed to be the prefix part of the -qualifiedName and the value is changed to value. - -

-
Parameters:
element - The Element on which to set the -attribute. -
namespaceURI - The namespace URI of the new attribute. -
qualifiedName - The qualified name of the attribute. -
value - The new value for the attribute.
Returns:
[int] An integer representing one of the following: -
    -
  • IXML_SUCCESS: The operation completed successfully. -
  • IXML_INVALID_PARAMETER: Either element, -namespaceURI, qualifiedName, or value is -NULL. -
  • IXML_INVALID_CHARACTER_ERR: qualifiedName contains -an invalid character. -
  • IXML_NAMESPACE_ERR: Either the qualifiedName or -namespaceURI is malformed. Refer to the DOM2-Core for -possible reasons. -
  • IXML_INSUFFICIENT_MEMORY: Not enough free memory exist -to complete the operation. -
  • IXML_FAILED: The operation could not be completed. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlFreeDOMString.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlFreeDOMString.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlFreeDOMString.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlFreeDOMString.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ - - - - - EXPORT_SPEC void ixmlFreeDOMString - - - - -

EXPORT_SPEC void ixmlFreeDOMString

(DOMString buf )

Frees a DOMString.
- - -
-

Documentation

-
Frees a DOMString. - -

-
Parameters:
buf - The DOMString to free.
Returns:
[void] This function does not return a value. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlLoadDocumentEx.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlLoadDocumentEx.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlLoadDocumentEx.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlLoadDocumentEx.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,37 +0,0 @@ - - - - - EXPORT_SPEC int ixmlLoadDocumentEx - - - - -

EXPORT_SPEC int ixmlLoadDocumentEx

(char* xmlFile,
  IXML_Document** doc )

Parses an XML text file converting it into an IXML DOM representation.
- - -
-

Documentation

-
Parses an XML text file converting it into an IXML DOM representation. - -

The ixmlLoadDocumentEx API differs from the ixmlLoadDocument -API in that it returns a an error code representing the actual failure -rather than just NULL. - -

-
Parameters:
xmlFile - The filename of the XML text to convert to a -Document. -
doc - A pointer to the Document if file correctly -parses or NULL on an error.
Returns:
[int] An integer representing one of the following: -
    -
  • IXML_SUCCESS: The operation completed successfully. -
  • IXML_INVALID_PARAMETER: The xmlFile is not a valid -pointer. -
  • IXML_INSUFFICIENT_MEMORY: Not enough free memory exists -to complete this operation. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlLoadDocument.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlLoadDocument.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlLoadDocument.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlLoadDocument.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ - - - - - EXPORT_SPEC IXML_Document* ixmlLoadDocument - - - - -

EXPORT_SPEC IXML_Document* ixmlLoadDocument

(char* xmlFile )

Parses an XML text file converting it into an IXML DOM representation.
- - -
-

Documentation

-
Parses an XML text file converting it into an IXML DOM representation. - -

-
Parameters:
xmlFile - The filename of the XML text to convert to a -Document.
Returns:
[Document*] A Document if the file correctly parses or -NULL on an error. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNamedNodeMap_free.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNamedNodeMap_free.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNamedNodeMap_free.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNamedNodeMap_free.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,24 +0,0 @@ - - - - - EXPORT_SPEC void ixmlNamedNodeMap_free - - - - -

EXPORT_SPEC void ixmlNamedNodeMap_free

(IXML_NamedNodeMap* nnMap )

Frees a NamedNodeMap.
- - -
-

Documentation

-
Frees a NamedNodeMap. The Nodes inside the map are not -freed, just the NamedNodeMap object. - -

-
Parameters:
nnMap - The NamedNodeMap to free.
Returns:
[void] This function does not return a value. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNamedNodeMap_getLength.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNamedNodeMap_getLength.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNamedNodeMap_getLength.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNamedNodeMap_getLength.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,24 +0,0 @@ - - - - - EXPORT_SPEC unsigned long ixmlNamedNodeMap_getLength - - - - -

EXPORT_SPEC unsigned long ixmlNamedNodeMap_getLength

(IXML_NamedNodeMap* nnMap )

Returns the number of items contained in this NamedNodeMap.
- - -
-

Documentation

-
Returns the number of items contained in this NamedNodeMap. - -

-
Parameters:
nnMap - The NamedNodeMap from which to retrieve -the size.
Returns:
[unsigned long] The number of nodes in this map. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNamedNodeMap_getNamedItem.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNamedNodeMap_getNamedItem.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNamedNodeMap_getNamedItem.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNamedNodeMap_getNamedItem.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,24 +0,0 @@ - - - - - EXPORT_SPEC IXML_Node* ixmlNamedNodeMap_getNamedItem - - - - -

EXPORT_SPEC IXML_Node* ixmlNamedNodeMap_getNamedItem

(IXML_NamedNodeMap* nnMap,
  DOMString name )

Retrieves a Node from the NamedNodeMap by name.
- - -
-

Documentation

-
Retrieves a Node from the NamedNodeMap by name. - -

-
Parameters:
nnMap - The NamedNodeMap to search. -
name - The name of the Node to find.
Returns:
[Node*] A Node or NULL if there is an error. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNamedNodeMap_getNamedItemNS.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNamedNodeMap_getNamedItemNS.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNamedNodeMap_getNamedItemNS.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNamedNodeMap_getNamedItemNS.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,30 +0,0 @@ - - - - - EXPORT_SPEC IXML_Node* ixmlNamedNodeMap_getNamedItemNS - - - - -

EXPORT_SPEC IXML_Node* ixmlNamedNodeMap_getNamedItemNS

(IXML_NamedNodeMap* nnMap,
  DOMString* namespaceURI,
  DOMString localName )

Retrieves a Node from a NamedNodeMap specified by namespace URI and local name.
- - -
-

Documentation

-
Retrieves a Node from a NamedNodeMap specified by -namespace URI and local name. - -

-
Parameters:
nnMap - The NamedNodeMap from which to -remove the Node. -
namespaceURI - The namespace URI of the Node to -remove. -
localName - The local name of the Node to -remove.
Returns:
[Node*] A pointer to the Node, if found, or NULL if -it wasn't -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNamedNodeMap_item.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNamedNodeMap_item.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNamedNodeMap_item.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNamedNodeMap_item.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,27 +0,0 @@ - - - - - EXPORT_SPEC IXML_Node* ixmlNamedNodeMap_item - - - - -

EXPORT_SPEC IXML_Node* ixmlNamedNodeMap_item

(IXML_NamedNodeMap* nnMap,
  unsigned long index )

Retrieves a Node from a NamedNodeMap specified by a numerical index.
- - -
-

Documentation

-
Retrieves a Node from a NamedNodeMap specified by a -numerical index. - -

-
Parameters:
nnMap - The NamedNodeMap from which to remove the -Node. -
index - The index into the map to remove.
Returns:
[Node*] A pointer to the Node, if found, or NULL if -it wasn't. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNamedNodeMap_removeNamedItem.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNamedNodeMap_removeNamedItem.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNamedNodeMap_removeNamedItem.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNamedNodeMap_removeNamedItem.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,26 +0,0 @@ - - - - - EXPORT_SPEC IXML_Node* ixmlNamedNodeMap_removeNamedItem - - - - -

EXPORT_SPEC IXML_Node* ixmlNamedNodeMap_removeNamedItem

(IXML_NamedNodeMap* nnMap,
  DOMString name )

Removes a Node from a NamedNodeMap specified by name.
- - -
-

Documentation

-
Removes a Node from a NamedNodeMap specified by name. - -

-
Parameters:
nnMap - The NamedNodeMap from which to -remove the item. -
name - The name of the item to remove.
Returns:
[Node*] A pointer to the Node, if found, or NULL if -it wasn't. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNamedNodeMap_removeNamedItemNS.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNamedNodeMap_removeNamedItemNS.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNamedNodeMap_removeNamedItemNS.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNamedNodeMap_removeNamedItemNS.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,30 +0,0 @@ - - - - - EXPORT_SPEC IXML_Node* ixmlNamedNodeMap_removeNamedItemNS - - - - -

EXPORT_SPEC IXML_Node* ixmlNamedNodeMap_removeNamedItemNS

(IXML_NamedNodeMap* nnMap,
  DOMString namespaceURI,
  DOMString localName )

Removes a Node from a NamedNodeMap specified by namespace URI and local name.
- - -
-

Documentation

-
Removes a Node from a NamedNodeMap specified by -namespace URI and local name. - -

-
Parameters:
nnMap - The NamedNodeMap from which to -remove the Node. -
namespaceURI - The namespace URI of the Node -to remove. -
localName - The local name of the Node to -remove.
Returns:
[Node*] A pointer to the Node, if found, or NULL if -it wasn't. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNamedNodeMap_setNamedItem.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNamedNodeMap_setNamedItem.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNamedNodeMap_setNamedItem.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNamedNodeMap_setNamedItem.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,29 +0,0 @@ - - - - - EXPORT_SPEC IXML_Node* ixmlNamedNodeMap_setNamedItem - - - - -

EXPORT_SPEC IXML_Node* ixmlNamedNodeMap_setNamedItem

(IXML_NamedNodeMap* nnMap,
  IXML_Node* arg )

Adds a new Node to the NamedNodeMap using the Node name attribute.
- - -
-

Documentation

-
Adds a new Node to the NamedNodeMap using the Node -name attribute. - -

-
Parameters:
nnMap - The NamedNodeMap in which to add the -new Node. -
arg - The new Node to add to the -NamedNodeMap.
Returns:
[Node*] The old Node if the new Node replaces it or -NULL if the Node was not in the -NamedNodeMap before. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNamedNodeMap_setNamedItemNS.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNamedNodeMap_setNamedItemNS.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNamedNodeMap_setNamedItemNS.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNamedNodeMap_setNamedItemNS.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,28 +0,0 @@ - - - - - EXPORT_SPEC IXML_Node* ixmlNamedNodeMap_setNamedItemNS - - - - -

EXPORT_SPEC IXML_Node* ixmlNamedNodeMap_setNamedItemNS

(IXML_NamedNodeMap* nnMap,
  IXML_Node* arg )

Adds a new Node to the NamedNodeMap using the Node local name and namespace URI attributes.
- - -
-

Documentation

-
Adds a new Node to the NamedNodeMap using the Node -local name and namespace URI attributes. - -

-
Parameters:
nnMap - The NamedNodeMap in which to add -the Node. -
arg - The Node to add to the map.
Returns:
[Node*] The old Node if the new Node replaces it or -NULL if the Node was not in the -NamedNodeMap before. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNode_appendChild.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNode_appendChild.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNode_appendChild.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNode_appendChild.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,36 +0,0 @@ - - - - - EXPORT_SPEC int ixmlNode_appendChild - - - - -

EXPORT_SPEC int ixmlNode_appendChild

(IXML_Node* nodeptr,
  IXML_Node* newChild )

Appends a child Node to the list of children of a Node.
- - -
-

Documentation

-
Appends a child Node to the list of children of a Node. If -newChild is already in the tree, it is removed first. - -

-
Parameters:
nodeptr - The Node in which to append the new child. -
newChild - The new child to append.
Returns:
[int] An integer representing one of the following: -
    -
  • IXML_SUCCESS: The operation completed successfully. -
  • IXML_INVALID_PARAMETER: Either nodeptr or -newChild is NULL. -
  • IXML_HIERARCHY_REQUEST_ERR: newChild is of a type -that cannot be added as a child of nodeptr or -newChild is an ancestor of nodeptr. -
  • IXML_WRONG_DOCUMENT_ERR: newChild was created from -a different document than nodeptr. -
  • IXML_NO_MODIFICATION_ALLOWED_ERR: nodeptr is a -read-only Node. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNode_cloneNode.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNode_cloneNode.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNode_cloneNode.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNode_cloneNode.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,28 +0,0 @@ - - - - - EXPORT_SPEC IXML_Node* ixmlNode_cloneNode - - - - -

EXPORT_SPEC IXML_Node* ixmlNode_cloneNode

(IXML_Node* nodeptr,
  BOOL deep )

Clones a Node.
- - -
-

Documentation

-
Clones a Node. The new Node does not have a parent. The -deep parameter controls whether the subtree of the Node is -also cloned. For details on cloning specific types of Nodes, -refer to the DOM2-Core recommendation. - -

-
Parameters:
nodeptr - The Node to clone. -
deep - TRUE to clone the subtree also or FALSE -to clone only nodeptr.
Returns:
[Node*] A clone of nodeptr or NULL. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNode_free.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNode_free.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNode_free.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNode_free.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ - - - - - EXPORT_SPEC void ixmlNode_free - - - - -

EXPORT_SPEC void ixmlNode_free

(IXML_Node* IXML_Node )

Frees a Node and all Nodes in its subtree.
- - -
-

Documentation

-
Frees a Node and all Nodes in its subtree. - -

-
Parameters:
IXML_Node - The Node to free.
Returns:
[void] This function does not return a value. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNode_getAttributes.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNode_getAttributes.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNode_getAttributes.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNode_getAttributes.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,26 +0,0 @@ - - - - - EXPORT_SPEC IXML_NamedNodeMap* ixmlNode_getAttributes - - - - -

EXPORT_SPEC IXML_NamedNodeMap* ixmlNode_getAttributes

(IXML_Node* nodeptr )

Retrieves the attributes of a Node, if it is an Element node, in a NamedNodeMap structure.
- - -
-

Documentation

-
Retrieves the attributes of a Node, if it is an Element node, -in a NamedNodeMap structure. - -

-
Parameters:
nodeptr - The Node from which to retrieve the -attributes.
Returns:
[NamedNodeMap*] A NamedNodeMap of the attributes or -NULL. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNode_getChildNodes.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNode_getChildNodes.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNode_getChildNodes.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNode_getChildNodes.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,26 +0,0 @@ - - - - - EXPORT_SPEC IXML_NodeList* ixmlNode_getChildNodes - - - - -

EXPORT_SPEC IXML_NodeList* ixmlNode_getChildNodes

(IXML_Node* nodeptr )

Retrieves the list of children of a Node in a NodeList structure.
- - -
-

Documentation

-
Retrieves the list of children of a Node in a NodeList -structure. If a Node has no children, ixmlNode_getChildNodes -returns a NodeList structure that contains no Nodes. - -

-
Parameters:
nodeptr - The Node from which to retrieve the -children.
Returns:
[NodeList*] A NodeList of the children of the Node. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNode_getFirstChild.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNode_getFirstChild.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNode_getFirstChild.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNode_getFirstChild.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ - - - - - EXPORT_SPEC IXML_Node* ixmlNode_getFirstChild - - - - -

EXPORT_SPEC IXML_Node* ixmlNode_getFirstChild

(IXML_Node* nodeptr )

Retrieves the first child Node of a Node.
- - -
-

Documentation

-
Retrieves the first child Node of a Node. - -

-
Parameters:
nodeptr - The Node from which to retrieve the first -child.
Returns:
[Node*] A pointer to the first child Node or NULL -if the Node does not have any children. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNode_getLastChild.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNode_getLastChild.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNode_getLastChild.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNode_getLastChild.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ - - - - - EXPORT_SPEC IXML_Node* ixmlNode_getLastChild - - - - -

EXPORT_SPEC IXML_Node* ixmlNode_getLastChild

(IXML_Node* nodeptr )

Retrieves the last child Node of a Node.
- - -
-

Documentation

-
Retrieves the last child Node of a Node. - -

-
Parameters:
nodeptr - The Node from which to retrieve the last -child.
Returns:
[Node*] A pointer to the last child Node or NULL if -the Node does not have any children. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNode_getLocalName.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNode_getLocalName.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNode_getLocalName.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNode_getLocalName.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,29 +0,0 @@ - - - - - EXPORT_SPEC const DOMString ixmlNode_getLocalName - - - - -

EXPORT_SPEC const DOMString ixmlNode_getLocalName

(IXML_Node* nodeptr )

Retrieves the local name of a Node, if present.
- - -
-

Documentation

-
Retrieves the local name of a Node, if present. The local name is -the tag name without the namespace prefix. Only Nodes of type -eELEMENT_NODE or eATTRIBUTE_NODE can have a local name. -{\Bf Node}s created through the Document interface will only -contain a local name if created using ixmlDocument_createElementNS. - -

-
Parameters:
nodeptr - The Node from which to retrieve the local -name.
Returns:
[const DOMString] A DOMString representing the local name -of the Element or NULL. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNode_getNamespaceURI.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNode_getNamespaceURI.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNode_getNamespaceURI.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNode_getNamespaceURI.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,29 +0,0 @@ - - - - - EXPORT_SPEC const DOMString ixmlNode_getNamespaceURI - - - - -

EXPORT_SPEC const DOMString ixmlNode_getNamespaceURI

(IXML_Node* nodeptr )

Retrieves the namespace URI for a Node as a DOMString.
- - -
-

Documentation

-
Retrieves the namespace URI for a Node as a DOMString. Only -Nodes of type eELEMENT_NODE or eATTRIBUTE_NODE can -have a namespace URI. Nodes created through the Document -interface will only contain a namespace if created using -ixmlDocument_createElementNS. - -

-
Parameters:
nodeptr - The Node for which to retrieve the -namespace.
Returns:
[const DOMString] A DOMString representing the URI of the -namespace or NULL. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNode_getNextSibling.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNode_getNextSibling.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNode_getNextSibling.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNode_getNextSibling.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ - - - - - EXPORT_SPEC IXML_Node* ixmlNode_getNextSibling - - - - -

EXPORT_SPEC IXML_Node* ixmlNode_getNextSibling

(IXML_Node* nodeptr )

Retrieves the sibling Node immediately following this Node.
- - -
-

Documentation

-
Retrieves the sibling Node immediately following this Node. - -

-
Parameters:
nodeptr - The Node from which to retrieve the next -sibling.
Returns:
[Node*] A pointer to the next sibling Node or NULL -if no such Node exists. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNode_getNodeName.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNode_getNodeName.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNode_getNodeName.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNode_getNodeName.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ - - - - - EXPORT_SPEC const DOMString ixmlNode_getNodeName - - - - -

EXPORT_SPEC const DOMString ixmlNode_getNodeName

(IXML_Node* nodeptr )

Returns the name of the Node, depending on what type of Node it is, in a read-only string.
- - -
-

Documentation

-
Returns the name of the Node, depending on what type of -Node it is, in a read-only string. Refer to the table in the -DOM2-Core for a description of the node names for various interfaces. - -

-
Parameters:
nodeptr - Pointer to the node to retrieve the name.
Returns:
[const DOMString] A constant DOMString of the node name. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNode_getNodeType.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNode_getNodeType.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNode_getNodeType.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNode_getNodeType.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,39 +0,0 @@ - - - - - EXPORT_SPEC unsigned short ixmlNode_getNodeType - - - - -

EXPORT_SPEC unsigned short ixmlNode_getNodeType

(IXML_Node* nodeptr )

Retrieves the type of a Node.
- - -
-

Documentation

-
Retrieves the type of a Node. The defined Node constants -are: -
    -
  • eATTRIBUTE_NODE -
  • eCDATA_SECTION_NODE -
  • eCOMMENT_NODE -
  • eDOCUMENT_FRAGMENT_NODE -
  • eDOCUMENT_NODE -
  • eDOCUMENT_TYPE_NODE -
  • eELEMENT_NODE -
  • eENTITY_NODE -
  • eENTITY_REFERENCE_NODE -
  • eNOTATION_NODE -
  • ePROCESSING_INSTRUCTION_NODE -
  • eTEXT_NODE -
- -

-
Parameters:
nodeptr - The Node from which to retrieve the type.
Returns:
[const unsigned short] An integer representing the type of the -Node. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNode_getNodeValue.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNode_getNodeValue.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNode_getNodeValue.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNode_getNodeValue.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,24 +0,0 @@ - - - - - EXPORT_SPEC DOMString ixmlNode_getNodeValue - - - - -

EXPORT_SPEC DOMString ixmlNode_getNodeValue

(IXML_Node* nodeptr )

Returns the value of the Node as a string.
- - -
-

Documentation

-
Returns the value of the Node as a string. Note that this string -is not a copy and modifying it will modify the value of the Node. - -

-
Parameters:
nodeptr - Pointer to the Node to retrieve the value.
Returns:
[DOMString] A DOMString of the Node value. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNode_getOwnerDocument.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNode_getOwnerDocument.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNode_getOwnerDocument.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNode_getOwnerDocument.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,28 +0,0 @@ - - - - - EXPORT_SPEC IXML_Document* ixmlNode_getOwnerDocument - - - - -

EXPORT_SPEC IXML_Document* ixmlNode_getOwnerDocument

(IXML_Node* nodeptr )

Retrieves the document object associated with this Node.
- - -
-

Documentation

-
Retrieves the document object associated with this Node. This -owner document Node allows other Nodes to be created in the -context of this document. Note that Document nodes do not have -an owner document. - -

-
Parameters:
nodeptr - The Node from which to retrieve the -owner document.
Returns:
[Document*] A pointer to the owning Document or -NULL, if the Node does not have an owner. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNode_getParentNode.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNode_getParentNode.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNode_getParentNode.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNode_getParentNode.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ - - - - - EXPORT_SPEC IXML_Node* ixmlNode_getParentNode - - - - -

EXPORT_SPEC IXML_Node* ixmlNode_getParentNode

(IXML_Node* nodeptr )

Retrieves the parent Node for a Node.
- - -
-

Documentation

-
Retrieves the parent Node for a Node. - -

-
Parameters:
nodeptr - The Node from which to retrieve the -parent.
Returns:
[Node*] A pointer to the parent Node or NULL if the -Node has no parent. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNode_getPrefix.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNode_getPrefix.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNode_getPrefix.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNode_getPrefix.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,28 +0,0 @@ - - - - - EXPORT_SPEC DOMString ixmlNode_getPrefix - - - - -

EXPORT_SPEC DOMString ixmlNode_getPrefix

(IXML_Node* nodeptr )

Retrieves the namespace prefix, if present.
- - -
-

Documentation

-
Retrieves the namespace prefix, if present. The prefix is the name -used as an alias for the namespace URI for this element. Only -Nodes of type eELEMENT_NODE or eATTRIBUTE_NODE can have -a prefix. Nodes created through the Document interface will -only contain a prefix if created using ixmlDocument_createElementNS. - -

-
Parameters:
nodeptr - The Node from which to retrieve the prefix.
Returns:
[DOMString] A DOMString representing the namespace prefix -or NULL. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNode_getPreviousSibling.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNode_getPreviousSibling.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNode_getPreviousSibling.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNode_getPreviousSibling.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ - - - - - EXPORT_SPEC IXML_Node* ixmlNode_getPreviousSibling - - - - -

EXPORT_SPEC IXML_Node* ixmlNode_getPreviousSibling

(IXML_Node* nodeptr )

Retrieves the sibling Node immediately preceding this Node.
- - -
-

Documentation

-
Retrieves the sibling Node immediately preceding this Node. - -

-
Parameters:
nodeptr - The Node for which to retrieve the -previous sibling.
Returns:
[Node*] A pointer to the previous sibling Node or -NULL if no such Node exists. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNode_hasAttributes.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNode_hasAttributes.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNode_hasAttributes.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNode_hasAttributes.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ - - - - - EXPORT_SPEC BOOL ixmlNode_hasAttributes - - - - -

EXPORT_SPEC BOOL ixmlNode_hasAttributes

(IXML_Node* node )

Queries whether this Node has attributes.
- - -
-

Documentation

-
Queries whether this Node has attributes. Note that only -Element nodes have attributes. - -

-
Parameters:
node - The Node to query for attributes.
Returns:
[BOOL] TRUE if the Node has attributes otherwise -FALSE. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNode_hasChildNodes.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNode_hasChildNodes.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNode_hasChildNodes.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNode_hasChildNodes.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,24 +0,0 @@ - - - - - EXPORT_SPEC BOOL ixmlNode_hasChildNodes - - - - -

EXPORT_SPEC BOOL ixmlNode_hasChildNodes

(IXML_Node* nodeptr )

Queries whether or not a Node has children.
- - -
-

Documentation

-
Queries whether or not a Node has children. - -

-
Parameters:
nodeptr - The Node to query for children.
Returns:
[BOOL] TRUE if the Node has one or more children -otherwise FALSE. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNode_insertBefore.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNode_insertBefore.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNode_insertBefore.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNode_insertBefore.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,49 +0,0 @@ - - - - - EXPORT_SPEC int ixmlNode_insertBefore - - - - -

EXPORT_SPEC int ixmlNode_insertBefore

(IXML_Node* nodeptr,
  IXML_Node* newChild,
  IXML_Node* refChild )

Inserts a new child Node before the existing child Node.
- - -
-

Documentation

-
Inserts a new child Node before the existing child Node. -refChild can be NULL, which inserts newChild at the -end of the list of children. Note that the Node (or Nodes) -in newChild must already be owned by the owner document (or have no -owner at all) of nodeptr for insertion. If not, the Node -(or Nodes) must be imported into the document using -ixmlDocument_importNode. If newChild is already in the tree, -it is removed first. - -

-
Parameters:
nodeptr - The parent of the Node before which to -insert the new child. -
newChild - The Node to insert into the tree. -
refChild - The reference child where the new Node -should be inserted. The new Node will -appear directly before the reference child.
Returns:
[int] An integer representing one of the following: -
    -
  • IXML_SUCCESS: The operation completed successfully. -
  • IXML_INVALID_PARAMETER: Either nodeptr or -newChild is NULL. -
  • IXML_HIERARCHY_REQUEST_ERR: The type of the Node -does not allow children of the type of newChild. -
  • IXML_WRONG_DOCUMENT_ERR: newChild has an owner -document that does not match the owner of nodeptr. -
  • IXML_NO_MODIFICATION_ALLOWED_ERR: nodeptr is -read-only or the parent of the Node being inserted is -read-only. -
  • IXML_NOT_FOUND_ERR: refChild is not a child of -nodeptr. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNodeList_free.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNodeList_free.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNodeList_free.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNodeList_free.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ - - - - - EXPORT_SPEC void ixmlNodeList_free - - - - -

EXPORT_SPEC void ixmlNodeList_free

(IXML_NodeList* nList )

Frees a NodeList object.
- - -
-

Documentation

-
Frees a NodeList object. Since the underlying Nodes are -references, they are not freed using this operating. This only -frees the NodeList object. - -

-
Parameters:
nList - The NodeList to free.
Returns:
[void] This function does not return a value. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNodeList_item.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNodeList_item.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNodeList_item.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNodeList_item.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,27 +0,0 @@ - - - - - EXPORT_SPEC IXML_Node* ixmlNodeList_item - - - - -

EXPORT_SPEC IXML_Node* ixmlNodeList_item

(IXML_NodeList* nList,
  unsigned long index )

Retrieves a Node from a NodeList specified by a numerical index.
- - -
-

Documentation

-
Retrieves a Node from a NodeList specified by a -numerical index. - -

-
Parameters:
nList - The NodeList from which to retrieve the -Node. -
index - The index into the NodeList to retrieve.
Returns:
[Node*] A pointer to a Node or NULL if there was an -error. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNodeList_length.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNodeList_length.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNodeList_length.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNodeList_length.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,24 +0,0 @@ - - - - - EXPORT_SPEC unsigned long ixmlNodeList_length - - - - -

EXPORT_SPEC unsigned long ixmlNodeList_length

(IXML_NodeList* nList )

Returns the number of Nodes in a NodeList.
- - -
-

Documentation

-
Returns the number of Nodes in a NodeList. - -

-
Parameters:
nList - The NodeList for which to retrieve the -number of Nodes.
Returns:
[unsigned long] The number of Nodes in the NodeList. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNode_removeChild.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNode_removeChild.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNode_removeChild.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNode_removeChild.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,38 +0,0 @@ - - - - - EXPORT_SPEC int ixmlNode_removeChild - - - - -

EXPORT_SPEC int ixmlNode_removeChild

(IXML_Node* nodeptr,
  IXML_Node* oldChild,
  IXML_Node** returnNode )

Removes a child from the list of children of a Node.
- - -
-

Documentation

-
Removes a child from the list of children of a Node. -returnNode will contain the oldChild Node, -appropriately removed from the tree (i.e. it will no longer have an -owner document). - -

-
Parameters:
nodeptr - The parent of the child to remove. -
oldChild - The child Node to remove. -
returnNode - Pointer to a Node to place the removed -oldChild Node.
Returns:
[int] An integer representing one of the following: -
    -
  • IXML_SUCCESS: The operation completed successfully. -
  • IXML_INVALID_PARAMETER: Either nodeptr or -oldChild is NULL. -
  • IXML_NO_MODIFICATION_ALLOWED_ERR: nodeptr or its -parent is read-only. -
  • IXML_NOT_FOUND_ERR: oldChild is not among the -children of nodeptr. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNode_replaceChild.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNode_replaceChild.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNode_replaceChild.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNode_replaceChild.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,46 +0,0 @@ - - - - - EXPORT_SPEC int ixmlNode_replaceChild - - - - -

EXPORT_SPEC int ixmlNode_replaceChild

(IXML_Node* nodeptr,
  IXML_Node* newChild,
  IXML_Node* oldChild,
  IXML_Node** returnNode )

Replaces an existing child Node with a new child Node in the list of children of a Node.
- - -
-

Documentation

-
Replaces an existing child Node with a new child Node in -the list of children of a Node. If newChild is already in -the tree, it will first be removed. returnNode will contain the -oldChild Node, appropriately removed from the tree (i.e. it -will no longer have an owner document). - -

-
Parameters:
nodeptr - The parent of the Node which contains the -child to replace. -
newChild - The child with which to replace oldChild. -
oldChild - The child to replace with newChild. -
returnNode - Pointer to a Node to place the removed -oldChild Node.
Returns:
[int] An integer representing one of the following: -
    -
  • IXML_SUCCESS: The operation completed successfully. -
  • IXML_INVALID_PARAMTER: Either nodeptr, -newChild, or oldChild is NULL. -
  • IXML_HIERARCHY_REQUEST_ERR: The newChild is not -a type of Node that can be inserted into this tree or -newChild is an ancestor of nodePtr. -
  • IXML_WRONG_DOCUMENT_ERR: newChild was created from -a different document than nodeptr. -
  • IXML_NO_MODIFICATION_ALLOWED_ERR: nodeptr or -its parent is read-only. -
  • IXML_NOT_FOUND_ERR: oldChild is not a child of -nodeptr. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNode_setNodeValue.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNode_setNodeValue.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNode_setNodeValue.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNode_setNodeValue.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,33 +0,0 @@ - - - - - EXPORT_SPEC int ixmlNode_setNodeValue - - - - -

EXPORT_SPEC int ixmlNode_setNodeValue

(IXML_Node* nodeptr,
  char* newNodeValue )

Assigns a new value to a Node.
- - -
-

Documentation

-
Assigns a new value to a Node. The newNodeValue string is -duplicated and stored in the Node so that the original does not -have to persist past this call. - -

-
Parameters:
nodeptr - The Node to which to assign a new value. -
newNodeValue - The new value of the Node.
Returns:
[int] An integer representing one of the following: -
    -
  • IXML_SUCCESS: The operation completed successfully. -
  • IXML_INVALID_PARAMETER: The Node* is not a valid -pointer. -
  • IXML_INSUFFICIENT_MEMORY: Not enough free memory exists -to complete this operation. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNodetoString.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNodetoString.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlNodetoString.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlNodetoString.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,32 +0,0 @@ - - - - - EXPORT_SPEC DOMString ixmlNodetoString - - - - -

EXPORT_SPEC DOMString ixmlNodetoString

(IXML_Node* doc )

Renders a Node and all sub-elements into an XML text representation.
- - -
-

Documentation

-
Renders a Node and all sub-elements into an XML text -representation. The caller is required to free the DOMString -returned from this function using ixmlFreeDOMString when it -is no longer required. - -

Note that this function can be used for any Node-derived -interface. The difference between ixmlNodetoString and -ixmlDocumenttoString is ixmlNodetoString does not include -the XML prolog, it only produces XML elements. - -

-
Parameters:
doc - The root of the Node tree to render to XML text.
Returns:
[DOMString] A DOMString with the XML text representation -of the DOM tree or NULL on an error. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlParseBufferEx.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlParseBufferEx.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlParseBufferEx.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlParseBufferEx.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,37 +0,0 @@ - - - - - EXPORT_SPEC int ixmlParseBufferEx - - - - -

EXPORT_SPEC int ixmlParseBufferEx

(char* buffer,
  IXML_Document** doc )

Parses an XML text buffer converting it into an IXML DOM representation.
- - -
-

Documentation

-
Parses an XML text buffer converting it into an IXML DOM representation. - -

The ixmlParseBufferEx API differs from the ixmlParseBuffer -API in that it returns an error code representing the actual failure -rather than just NULL. - -

-
Parameters:
buffer - The buffer that contains the XML text to convert to a -Document. -
doc - A point to store the Document if file correctly -parses or NULL on an error.
Returns:
[int] An integer representing one of the following: -
    -
  • IXML_SUCCESS: The operation completed successfully. -
  • IXML_INVALID_PARAMETER: The buffer is not a valid -pointer. -
  • IXML_INSUFFICIENT_MEMORY: Not enough free memory exists -to complete this operation. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlParseBuffer.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlParseBuffer.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlParseBuffer.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlParseBuffer.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ - - - - - EXPORT_SPEC IXML_Document* ixmlParseBuffer - - - - -

EXPORT_SPEC IXML_Document* ixmlParseBuffer

(char* buffer )

Parses an XML text buffer converting it into an IXML DOM representation.
- - -
-

Documentation

-
Parses an XML text buffer converting it into an IXML DOM representation. - -

-
Parameters:
buffer - The buffer that contains the XML text to convert to a -Document.
Returns:
[Document*] A Document if the buffer correctly parses or -NULL on an error. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlPrintDocument.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlPrintDocument.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlPrintDocument.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlPrintDocument.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,36 +0,0 @@ - - - - - DOMString ixmlPrintDocument - - - - -

DOMString ixmlPrintDocument

(IXML_Document* doc)

Renders a Node and all sub-elements into an XML document representation.
- - -
-

Documentation

-
Renders a Node and all sub-elements into an XML document -representation. The caller is required to free the DOMString -returned from this function using ixmlFreeDOMString when it -is no longer required. - -

Note that this function can be used for any Node-derived -interface. The difference between ixmlPrintDocument and -ixmlPrintNode is ixmlPrintDocument includes the XML prolog -while ixmlPrintNode only produces XML elements. An XML -document is not well formed unless it includes the prolog -and at least one element. - -

This function introduces lots of white space to print the -DOMString in readable format. - -

-
Returns:
[DOMString] A DOMString with the XML document representation -of the DOM tree or NULL on an error.

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlPrintNode.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlPrintNode.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlPrintNode.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlPrintNode.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,33 +0,0 @@ - - - - - DOMString ixmlPrintNode - - - - -

DOMString ixmlPrintNode

(IXML_Node* doc )

Renders a Node and all sub-elements into an XML text representation.
- - -
-

Documentation

-
Renders a Node and all sub-elements into an XML text -representation. The caller is required to free the DOMString -returned from this function using ixmlFreeDOMString when it -is no longer required. - -

Note that this function can be used for any Node-derived -interface. A similar ixmlPrintDocument function is defined -to avoid casting when printing whole documents. This function -introduces lots of white space to print the DOMString in readable -format. - -

-
Parameters:
doc - The root of the Node tree to render to XML text.
Returns:
[DOMString] A DOMString with the XML text representation -of the DOM tree or NULL on an error. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlRelaxParser.html pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlRelaxParser.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/ixmlRelaxParser.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/ixmlRelaxParser.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,27 +0,0 @@ - - - - - void ixmlRelaxParser - - - - -

void ixmlRelaxParser

(char errorChar)

Makes the XML parser more tolerant to malformed text.
- - -
-

Documentation

-
Makes the XML parser more tolerant to malformed text. - -

If errorChar is 0 (default), the parser is strict about XML -encoding : invalid UTF-8 sequences or "&" entities are rejected, and -the parsing aborts. -If errorChar is not 0, the parser is relaxed : invalid UTF-8 -characters are replaced by the errorChar, and invalid "&" entities -are left untranslated. The parsing is then allowed to continue.

-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/License.html pupnp-1.8-1.8.4/docs/dist/html/ixml/License.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/License.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/License.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,45 +0,0 @@ - - - - - License - - - - -

License

-
-
-Copyright (c) 2000-2003 Intel Corporation -All rights reserved. -
- -

Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: -

    -
  • Redistributions of source code must retain the above copyright notice, -this list of conditions and the following disclaimer. -
  • Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the -documentation and/or other materials provided with the distribution. -
  • Neither name of Intel Corporation nor the names of its contributors -may be used to endorse or promote products derived from this software -without specific prior written permission. -
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL OR -CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY -OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/ixml/toc.html pupnp-1.8-1.8.4/docs/dist/html/ixml/toc.html --- pupnp-1.8-1.8.3/docs/dist/html/ixml/toc.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/ixml/toc.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,19 +0,0 @@ - - - - - Table of Contents - - - - -

Table of Contents

-

General stuff

- -
-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/AboutCallbacks.html pupnp-1.8-1.8.4/docs/dist/html/upnp/AboutCallbacks.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/AboutCallbacks.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/AboutCallbacks.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,26 +0,0 @@ - - - - - About Callbacks - - - - -

About Callbacks

-
-The Linux SDK for UPnP Devices contains functions that generate -asynchronous callbacks. To simplify the application callback functions, -these callbacks are executed on a thread owned by the SDK itself. The -SDK executes the application's callback function in a thread -context so the application can allocate memory and preserve the information -it needs. The application can also use standard thread synchronization -methods to ensure data integrity. Due to the possibility of deadlock, the -application cannot call back into the SDK during these callbacks -unless explicitly noted. There is no restriction in calling into the -operating system or any other application interfaces.
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/ConstantsStructuresandTypes.html pupnp-1.8-1.8.4/docs/dist/html/upnp/ConstantsStructuresandTypes.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/ConstantsStructuresandTypes.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/ConstantsStructuresandTypes.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,79 +0,0 @@ - - - - - Constants, Structures, and Types - - - - -

Constants, Structures, and Types

- -
-
-
- -o -UpnpClient_Handle
Returned when a control point application registers with UpnpRegisterClient. -
- -o -UpnpDevice_Handle
Returned when a device application registers with UpnpRegisterRootDevice or UpnpRegisterRootDevice2. -
- -o -UPnP_EventType
The reason code for an event callback. -
- -o -Upnp_SID[44]
The Upnp_SID holds the subscription identifier for a subscription between a client and a device. -
- -o -Upnp_SType
Represents the different types of searches that can be performed using the SDK for UPnP Devices API. -
- -o -Upnp_DescType
Specifies the type of description in UpnpRegisterRootDevice2. -
- -o -Upnp_Action_Request
Returned as part of a UPNP_CONTROL_ACTION_COMPLETE callback. -
- -o -Upnp_State_Var_Request
Represents the request for current value of a state variable in a service state table. -
- -o -Upnp_State_Var_Complete
Represents the reply for the current value of a state variable in an asynchronous call. -
- -o -Upnp_Event
Returned along with a UPNP_EVENT_RECEIVED callback. -
- -o -Upnp_Discovery
Returned in a UPNP_DISCOVERY_RESULT callback. -
- -o -Upnp_Event_Subscribe
Returned along with a UPNP_EVENT_SUBSCRIBE_COMPLETE or UPNP_EVENT_UNSUBSCRIBE_COMPLETE callback. -
- -o -Upnp_Subscription_Request
Returned along with a UPNP_EVENT_SUBSCRIPTION_REQUEST callback. -
- -o -UpnpVirtualDirCallbacks
The UpnpVirtualDirCallbacks structure contains the pointers to file-related callback functions a device application can register to virtualize URLs. -
- -o -(*Upnp_FunPtr)
All callback functions share the same prototype, documented below. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/Control.html pupnp-1.8-1.8.4/docs/dist/html/upnp/Control.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/Control.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/Control.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,43 +0,0 @@ - - - - - Control - - - - -

Control

- -
-
-
- -o -UpnpGetServiceVarStatus
UpnpGetServiceVarStatus queries the state of a state variable of a service on another device. -
- -o -UpnpGetServiceVarStatusAsync
UpnpGetServiceVarStatusAsync queries the state of a variable of a service, generating a callback when the operation is complete. -
- -o -UpnpSendAction
UpnpSendAction sends a message to change a state variable in a service. -
- -o -UpnpSendActionEx
UpnpSendActionEx sends a message to change a state variable in a service. -
- -o -UpnpSendActionAsync
UpnpSendActionAsync sends a message to change a state variable in a service, generating a callback when the operation is complete. -
- -o -UpnpSendActionExAsync
UpnpSendActionExAsync sends a message to change a state variable in a service, generating a callback when the operation is complete. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/ControlPointHTTPAPI.html pupnp-1.8-1.8.4/docs/dist/html/upnp/ControlPointHTTPAPI.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/ControlPointHTTPAPI.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/ControlPointHTTPAPI.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,67 +0,0 @@ - - - - - Control Point HTTP API - - - - -

Control Point HTTP API

- -
-
-
- -o -UpnpDownloadUrlItem
UpnpDownloadUrlItem downloads a file specified in a URL. -
- -o -UpnpOpenHttpGet
UpnpOpenHttpGet gets a file specified in a URL. -
- -o -UpnpOpenHttpGetProxy
UpnpOpenHttpGetProxy gets a file specified in a URL through the specified proxy. -
- -o -UpnpOpenHttpGetEx
UpnpOpenHttpGetEx gets specified number of bytes from a file specified in the URL. -
- -o -UpnpReadHttpGet
UpnpReadHttpGet gets specified number of bytes from a file specified in a URL. -
- -o -UpnpHttpGetProgress
UpnpHttpGetProgress rettrieve progress information of a http-get transfer. -
- -o -UpnpCancelHttpGet
UpnpCancelHttpGet set the cancel flag of the handle parameter. -
- -o -UpnpCloseHttpGet
UpnpCloseHttpGet closes the connection and frees memory that was allocated for the handle parameter. -
- -o -UpnpOpenHttpPost
UpnpOpenHttpPost makes an HTTP POST request message, opens a connection to the server and sends the POST request to the server if the connection to the server succeeds. -
- -o -UpnpWriteHttpPost
UpnpWriteHttpPost sends a request to a server to copy the contents of a buffer to the URI specified in the UpnpOpenHttpPost call. -
- -o -UpnpCloseHttpPost
UpnpCloseHttpPost sends and receives any pending data, closes the connection with the server, and frees memory allocated during the UpnpOpenHttpPost call. -
- -o -UpnpDownloadXmlDoc
UpnpDownloadXmlDoc downloads an XML document specified in a URL. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/Discovery.html pupnp-1.8-1.8.4/docs/dist/html/upnp/Discovery.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/Discovery.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/Discovery.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,27 +0,0 @@ - - - - - Discovery - - - - -

Discovery

- -
-
-
- -o -UpnpSearchAsync
UpnpSearchAsync searches for devices matching the given search target. -
- -o -UpnpSendAdvertisement
UpnpSendAdvertisement sends out the discovery announcements for all devices and services for a device. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/Errorcodes.html pupnp-1.8-1.8.4/docs/dist/html/upnp/Errorcodes.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/Errorcodes.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/Errorcodes.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,126 +0,0 @@ - - - - - Error codes - - - - -

Error codes

-
The functions in the SDK API can return a variety of error -codes to describe problems encountered during execution. This section -lists the error codes and provides a brief description of what each error -code means. Refer to the documentation for each function for a -description of what an error code means in that context.
- -
-
-
- -o -UPNP_E_SUCCESS [0]
- -o -UPNP_E_INVALID_HANDLE [-100]
- -o -UPNP_E_INVALID_PARAM [-101]
- -o -UPNP_E_OUTOF_HANDLE [-102]
- -o -UPNP_E_OUTOF_MEMORY [-104]
- -o -UPNP_E_INIT [-105]
- -o -UPNP_E_INVALID_DESC [-107]
- -o -UPNP_E_INVALID_URL [-108]
- -o -UPNP_E_INVALID_SERVICE [-111]
- -o -UPNP_E_BAD_RESPONSE [-113]
- -o -UPNP_E_INVALID_ACTION [-115]
- -o -UPNP_E_FINISH [-116]
- -o -UPNP_E_INIT_FAILED [-117]
- -o -UPNP_E_BAD_HTTPMSG [-119]
- -o -UPNP_E_ALREADY_REGISTERED [-120]
- -o -UPNP_E_NETWORK_ERROR [-200]
- -o -UPNP_E_SOCKET_WRITE [-201]
- -o -UPNP_E_SOCKET_READ [-202]
- -o -UPNP_E_SOCKET_BIND [-203]
- -o -UPNP_E_SOCKET_CONNECT [-204]
- -o -UPNP_E_OUTOF_SOCKET [-205]
- -o -UPNP_E_LISTEN [-206]
- -o -UPNP_E_TIMEDOUT [-207]
- -o -UPNP_E_SOCKET_ERROR [-208]
- -o -UPNP_E_CANCELED [-210]
- -o -UPNP_E_SUBSCRIBE_UNACCEPTED [-301]
- -o -UPNP_E_UNSUBSCRIBE_UNACCAPTED [-302]
- -o -UPNP_E_NOTIFY_UNACCEPTED [-303]
- -o -UPNP_E_INVALID_ARGUMENT [-501]
- -o -UPNP_E_FILE_NOT_FOUND [-502]
- -o -UPNP_E_FILE_READ_ERROR [-503]
- -o -UPNP_E_EXT_NOT_XML [-504]
- -o -UPNP_E_NOT_FOUND [-507]
- -o -UPNP_E_INTERNAL_ERROR [-911]
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/Eventing.html pupnp-1.8-1.8.4/docs/dist/html/upnp/Eventing.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/Eventing.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/Eventing.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,67 +0,0 @@ - - - - - Eventing - - - - -

Eventing

- -
-
-
- -o -UpnpAcceptSubscription
UpnpAcceptSubscription accepts a subscription request and sends out the current state of the eventable variables for a service. -
- -o -UpnpAcceptSubscriptionExt
UpnpAcceptSubscriptionExt is similar to UpnpAcceptSubscription except that it takes a DOM document for the variables to event rather than an array of strings. -
- -o -UpnpNotify
UpnpNotify sends out an event change notification to all control points subscribed to a particular service. -
- -o -UpnpNotifyExt
UpnpNotifyExt is similar to UpnpNotify except that it takes a DOM document for the event rather than an array of strings. -
- -o -UpnpRenewSubscription
UpnpRenewSubscription renews a subscription that is about to expire. -
- -o -UpnpRenewSubscriptionAsync
UpnpRenewSubscriptionAsync renews a subscription that is about to expire, generating a callback when the operation is complete. -
- -o -UpnpSetMaxSubscriptions
UpnpSetMaxSubscriptions sets the maximum number of subscriptions accepted per service. -
- -o -UpnpSetMaxSubscriptionTimeOut
UpnpSetMaxSubscriptionTimeOut sets the maximum time-out accepted for a subscription request or renewal. -
- -o -UpnpSubscribe
UpnpSubscribe registers a control point to receive event notifications from another device. -
- -o -UpnpSubscribeAsync
UpnpSubscribeAsync performs the same operation as UpnpSubscribe, but returns immediately and calls the registered callback function when the operation is complete. -
- -o -UpnpUnSubscribe
UpnpUnSubscribe removes the subscription of a control point from a service previously subscribed to using UpnpSubscribe or UpnpSubscribeAsync. -
- -o -UpnpUnSubscribeAsync
UpnpUnSubscribeAsync removes a subscription of a control point from a service previously subscribed to using UpnpSubscribe or UpnpSubscribeAsync, generating a callback when the operation is complete. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/General.html pupnp-1.8-1.8.4/docs/dist/html/upnp/General.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/General.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/General.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,16 +0,0 @@ - - - - - General Bits - - - - -
-
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - Binary files /tmp/tmp23Uadf/wb2IpeRfmY/pupnp-1.8-1.8.3/docs/dist/html/upnp/icon1.gif and /tmp/tmp23Uadf/OM9SRuN53O/pupnp-1.8-1.8.4/docs/dist/html/upnp/icon1.gif differ Binary files /tmp/tmp23Uadf/wb2IpeRfmY/pupnp-1.8-1.8.3/docs/dist/html/upnp/icon2.gif and /tmp/tmp23Uadf/OM9SRuN53O/pupnp-1.8-1.8.4/docs/dist/html/upnp/icon2.gif differ diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/index.html pupnp-1.8-1.8.4/docs/dist/html/upnp/index.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/index.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/index.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,42 +0,0 @@ - - - - - Linux SDK for UPnP Devices v1.4 - - - - -

Linux SDK for UPnP Devices v1.4

-
-
-Linux SDK for UPnP Devices Version 1.4 - -

Copyright (C) 2000-2003 Intel Corporation ALL RIGHTS RESERVED - -

Revision 1.4.1 (Tue 04 Jul 2006 04:58:36 PM EEST) -

- -
-
-
- -o -Introduction
- -o -License
- -o -About Callbacks
- -o -The API
- -o -Optional Tool APIs
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/InitializationandRegistration.html pupnp-1.8-1.8.4/docs/dist/html/upnp/InitializationandRegistration.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/InitializationandRegistration.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/InitializationandRegistration.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,63 +0,0 @@ - - - - - Initialization and Registration - - - - -

Initialization and Registration

- -
-
-
- -o -UpnpInit
Initializes the Linux SDK for UPnP Devices. -
- -o -UpnpFinish
Terminates the Linux SDK for UPnP Devices. -
- -o -UpnpGetServerPort
If '0' is used as the port number in UpnpInit, then this function can be used to retrieve the actual port allocated to the SDK. -
- -o -UpnpGetServerIpAddress
If NULL is used as the IP address in UpnpInit, then this function can be used to retrieve the actual interface address on which device is running. -
- -o -UpnpRegisterClient
UpnpRegisterClient registers a control point application with the SDK. -
- -o -UpnpRegisterRootDevice
UpnpRegisterRootDevice registers a device application with the SDK. -
- -o -UpnpRegisterRootDevice2
UpnpRegisterRootDevice2 is similar to UpnpRegisterRootDevice, except that it also allows the description document to be specified as a file or a memory buffer. -
- -o -UpnpUnRegisterClient
UpnpUnRegisterClient unregisters a control point application, unsubscribing all active subscriptions. -
- -o -UpnpUnRegisterRootDevice
Unregisters a root device registered with UpnpRegisterRootDevice or UpnpRegisterRootDevice2. -
- -o -UpnpSetContentLength
OBSOLETE METHOD : use UpnpSetMaxContentLength instead. -
- -o -UpnpSetMaxContentLength
Sets the maximum content-length that the SDK will process on an incoming SOAP requests or responses. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/Introduction.html pupnp-1.8-1.8.4/docs/dist/html/upnp/Introduction.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/Introduction.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/Introduction.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,30 +0,0 @@ - - - - - Introduction - - - - -

Introduction

-
This document gives a brief description of the Linux SDK for UPnP -Devices API. Section 1 covers the license under which the SDK is -distributed. Section 2 talks about the callback functions used -in many parts of the API. Finally, section 3 details the structures and -functions that comprise the API. - -

The Linux SDK for UPnP Devices version 1.2 supports the following -platforms: -

    -
  • Linux* running on an Intel Architecture processor -
  • Linux running on an Intel StrongARM or XScale processor -
- -

* Other brands and names are the property of their respective -owners.

-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/License.html pupnp-1.8-1.8.4/docs/dist/html/upnp/License.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/License.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/License.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,45 +0,0 @@ - - - - - License - - - - -

License

-
-
-Copyright (c) 2000-2003 Intel Corporation -All rights reserved. -
- -

Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: -

    -
  • Redistributions of source code must retain the above copyright notice, -this list of conditions and the following disclaimer. -
  • Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the -documentation and/or other materials provided with the distribution. -
  • Neither name of Intel Corporation nor the names of its contributors -may be used to endorse or promote products derived from this software -without specific prior written permission. -
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL OR -CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY -OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/OptionalToolAPIs.html pupnp-1.8-1.8.4/docs/dist/html/upnp/OptionalToolAPIs.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/OptionalToolAPIs.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/OptionalToolAPIs.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,55 +0,0 @@ - - - - - Optional Tool APIs - - - - -

Optional Tool APIs

-
The Linux SDK for UPnP Devices contains some additional, optional -utility APIs that can be helpful in writing applications using the -SDK. These additional APIs can be compiled out in order to save code -size in the SDK. Refer to the README for details.
- -
-
-
- -o -UpnpResolveURL
UpnpResolveURL combines a base URL and a relative URL into a single absolute URL. -
- -o -UpnpMakeAction
UpnpMakeAction creates an action request packet based on its input parameters (status variable name and value pair). -
- -o -UpnpAddToAction
UpnpAddToAction creates an action request packet based on its input parameters (status variable name and value pair). -
- -o -UpnpMakeActionResponse
UpnpMakeActionResponse creates an action response packet based on its output parameters (status variable name and value pair). -
- -o -UpnpAddToActionResponse
UpnpAddToActionResponse creates an action response packet based on its output parameters (status variable name and value pair). -
- -o -UpnpAddToPropertySet
UpnpAddToPropertySet can be used when an application needs to transfer the status of many variables at once. -
- -o -UpnpCreatePropertySet
UpnpCreatePropertySet creates a property set message packet. -
- -o -UpnpGetErrorMessage
UpnpGetErrorMessage converts an SDK error code into a string error message suitable for display. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/TheAPI.html pupnp-1.8-1.8.4/docs/dist/html/upnp/TheAPI.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/TheAPI.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/TheAPI.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,43 +0,0 @@ - - - - - The API - - - - -

The API

- -
-
-
- -o -Error codes
- -o -Constants, Structures, and Types
- -o -Initialization and Registration
- -o -Discovery
- -o -Control
- -o -Eventing
- -o -Control Point HTTP API
- -o -Web Server API
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/toc.html pupnp-1.8-1.8.4/docs/dist/html/upnp/toc.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/toc.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/toc.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,19 +0,0 @@ - - - - - Table of Contents - - - - -

Table of Contents

-

General stuff

- -
-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpAcceptSubscriptionExt.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpAcceptSubscriptionExt.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpAcceptSubscriptionExt.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpAcceptSubscriptionExt.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,54 +0,0 @@ - - - - - EXPORT_SPEC int UpnpAcceptSubscriptionExt - - - - -

EXPORT_SPEC int UpnpAcceptSubscriptionExt

( IN UpnpDevice_Handle Hnd,
  IN const char* DevID,
  IN const char* ServID,
  IN IXML_Document* PropSet,
  IN Upnp_SID SubsId )

UpnpAcceptSubscriptionExt is similar to UpnpAcceptSubscription except that it takes a DOM document for the variables to event rather than an array of strings.
- - -
-

Documentation

-
UpnpAcceptSubscriptionExt is similar to UpnpAcceptSubscription -except that it takes a DOM document for the variables to event rather -than an array of strings. This function is sychronous -and generates no callbacks. - -

UpnpAcceptSubscriptionExt can be called during the execution of -a callback function. - -

-
Parameters:
Hnd - The handle of the device. -
DevID - The device ID of the subdevice of the -service generating the event. -
ServID - The unique service identifier of the service -generating the event. -
PropSet - The DOM document for the property set. -Property set documents must conform to -the XML schema defined in section 4.3 of the -Universal Plug and Play Device Architecture -specification. -
SubsId - The subscription ID of the newly -registered control point.
Returns:
[int] An integer representing one of the following: -
    -
  • UPNP_E_SUCCESS: The operation completed successfully. -
  • UPNP_E_INVALID_HANDLE: The handle is not a valid device -handle. -
  • UPNP_E_INVALID_SERVICE: The DevId/ServId -pair refers to an invalid service. -
  • UPNP_E_INVALID_SID: The specified subscription ID is not -valid. -
  • UPNP_E_INVALID_PARAM: Either VarName, -NewVal, DevID, ServID, or PropSet -is not a valid pointer. -
  • UPNP_E_OUTOF_MEMORY: Insufficient resources exist to -complete this operation. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpAcceptSubscription.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpAcceptSubscription.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpAcceptSubscription.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpAcceptSubscription.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,55 +0,0 @@ - - - - - EXPORT_SPEC int UpnpAcceptSubscription - - - - -

EXPORT_SPEC int UpnpAcceptSubscription

( IN UpnpDevice_Handle Hnd,
  IN const char* DevID,
  IN const char* ServID,
  IN const char** VarName,
  IN const char** NewVal,
  IN int cVariables,
  IN Upnp_SID SubsId )

UpnpAcceptSubscription accepts a subscription request and sends out the current state of the eventable variables for a service.
- - -
-

Documentation

-
UpnpAcceptSubscription accepts a subscription request and sends -out the current state of the eventable variables for a service. -The device application should call this function when it receives a -UPNP_EVENT_SUBSCRIPTION_REQUEST callback. This function is -synchronous and generates no callbacks. - -

UpnpAcceptSubscription can be called during the execution of -a callback function. - -

-
Parameters:
Hnd - The handle of the device. -
DevID - The device ID of the subdevice of the -service generating the event. -
ServID - The unique service identifier of the service -generating the event. -
VarName - Pointer to an array of event variables. -
NewVal - Pointer to an array of values for -the event variables. -
cVariables - The number of event variables in -VarName. -
SubsId - The subscription ID of the newly -registered control point.
Returns:
[int] An integer representing one of the following: -
    -
  • UPNP_E_SUCCESS: The operation completed successfully. -
  • UPNP_E_INVALID_HANDLE: The handle is not a valid device -handle. -
  • UPNP_E_INVALID_SERVICE: The DevId/ServId -pair refers to an invalid service. -
  • UPNP_E_INVALID_SID: The specified subscription ID is not -valid. -
  • UPNP_E_INVALID_PARAM: Either VarName, -NewVal, DevID, or ServID is not a valid -pointer or cVariables is less than zero. -
  • UPNP_E_OUTOF_MEMORY: Insufficient resources exist to -complete this operation. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/Upnp_Action_Request.html pupnp-1.8-1.8.4/docs/dist/html/upnp/Upnp_Action_Request.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/Upnp_Action_Request.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/Upnp_Action_Request.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,108 +0,0 @@ - - - - - struct Upnp_Action_Request - - - - -

struct Upnp_Action_Request

Returned as part of a UPNP_CONTROL_ACTION_COMPLETE callback.
- -
-

-
-[more]char ActionName[NAME_SIZE] -
The Action Name. -
-[more]IXML_Document* ActionRequest -
The DOM document describing the action. -
-[more]IXML_Document* ActionResult -
The DOM document describing the result of the action. -
-[more]struct in_addr CtrlPtIPAddr -
IP address of the control point requesting this action. -
-[more]char DevUDN[NAME_SIZE] -
The unique device ID. -
-[more]int ErrCode -
The result of the operation. -
-[more]char ErrStr[LINE_SIZE] -
The error string in case of error. -
-[more]char ServiceID[NAME_SIZE] -
The service ID. -
-[more]IXML_Document* SoapHeader -
The DOM document containing the information from the the SOAP header. -
-[more]int Socket -
The socket number of the connection to the requestor. -

- - - -
-

Documentation

-
Returned as part of a UPNP_CONTROL_ACTION_COMPLETE callback.
-
- - - -
oint ErrCode -
The result of the operation. -

- - -

oint Socket -
The socket number of the connection to the requestor. -

- - -

ochar ErrStr[LINE_SIZE] -
The error string in case of error. -

- - -

ochar ActionName[NAME_SIZE] -
The Action Name. -

- - -

ochar DevUDN[NAME_SIZE] -
The unique device ID. -

- - -

ochar ServiceID[NAME_SIZE] -
The service ID. -

- - -

oIXML_Document* ActionRequest -
The DOM document describing the action. -

- - -

oIXML_Document* ActionResult -
The DOM document describing the result of the action. -

- - -

ostruct in_addr CtrlPtIPAddr -
IP address of the control point requesting this action. -

- - -

oIXML_Document* SoapHeader -
The DOM document containing the information from the -the SOAP header. -

-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpAddToAction.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpAddToAction.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpAddToAction.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpAddToAction.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,40 +0,0 @@ - - - - - EXPORT_SPEC int UpnpAddToAction - - - - -

EXPORT_SPEC int UpnpAddToAction

( IN OUT IXML_Document** ActionDoc,
  IN const char* ActionName,
  IN const char* ServType,
  IN const char* ArgName,
  IN const char* ArgVal )

UpnpAddToAction creates an action request packet based on its input parameters (status variable name and value pair).
- - -
-

Documentation

-
UpnpAddToAction creates an action request packet based on its input -parameters (status variable name and value pair). This API is specially -suitable inside a loop to add any number input parameters into an existing -action. If no action document exists in the beginning then a -Upnp_Document variable initialized with NULL should be passed -as a parameter. - -

-
Parameters:
ActionDoc - A pointer to store the action -document node. -
- ActionName The action name. -
ServType - The service type. -
ArgName - The status variable name. -
ArgVal - The status variable value.
Returns:
[int] An integer representing one of the following: -
    -
  • UPNP_E_SUCCESS: The operation completed successfully. -
  • UPNP_E_INVALID_PARAM: One or more of the parameters -are invalid. -
  • UPNP_E_OUTOF_MEMORY: Insufficient resources exist to -complete this operation. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpAddToActionResponse.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpAddToActionResponse.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpAddToActionResponse.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpAddToActionResponse.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,42 +0,0 @@ - - - - - EXPORT_SPEC int UpnpAddToActionResponse - - - - -

EXPORT_SPEC int UpnpAddToActionResponse

( IN OUT IXML_Document** ActionResponse,
  IN const char* ActionName,
  IN const char* ServType,
  IN const char* ArgName,
  IN const char* ArgVal )

UpnpAddToActionResponse creates an action response packet based on its output parameters (status variable name and value pair).
- - -
-

Documentation

-
UpnpAddToActionResponse creates an action response -packet based on its output parameters (status variable name -and value pair). This API is especially suitable inside -a loop to add any number of input parameters into an existing action -response. If no action document exists in the beginning, a -Upnp_Document variable initialized with NULL should be passed -as a parameter. - -

-
Parameters:
ActionResponse - Pointer to a document to -store the action document -node. -
- ActionName The action name. -
ServType - The service type. -
ArgName - The status variable name. -
ArgVal - The status variable value.
Returns:
[int] An integer representing one of the following: -
    -
  • UPNP_E_SUCCESS: The operation completed successfully. -
  • UPNP_E_INVALID_PARAM: One or more of the parameters -are invalid. -
  • UPNP_E_OUTOF_MEMORY: Insufficient resources exist to -complete this operation. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpAddToPropertySet.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpAddToPropertySet.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpAddToPropertySet.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpAddToPropertySet.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,38 +0,0 @@ - - - - - EXPORT_SPEC int UpnpAddToPropertySet - - - - -

EXPORT_SPEC int UpnpAddToPropertySet

( IN OUT IXML_Document** PropSet,
  IN const char* ArgName,
  IN const char* ArgVal )

UpnpAddToPropertySet can be used when an application needs to transfer the status of many variables at once.
- - -
-

Documentation

-
UpnpAddToPropertySet can be used when an application needs to -transfer the status of many variables at once. It can be used -(inside a loop) to add some extra status variables into an existing -property set. If the application does not already have a property -set document, the application should create a variable initialized -with NULL and pass that as the first parameter. - -

-
Parameters:
PropSet - A pointer to the document containing -the property set document node. -
ArgName - The status variable name. -
ArgVal - The status variable value.
Returns:
[int] An integer representing one of the following: -
    -
  • UPNP_E_SUCCESS: The operation completed successfully. -
  • UPNP_E_INVALID_PARAM: One or more of the parameters -are invalid. -
  • UPNP_E_OUTOF_MEMORY: Insufficient resources exist to -complete this operation. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpAddVirtualDir.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpAddVirtualDir.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpAddVirtualDir.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpAddVirtualDir.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,32 +0,0 @@ - - - - - EXPORT_SPEC int UpnpAddVirtualDir - - - - -

EXPORT_SPEC int UpnpAddVirtualDir

( IN const char* dirName )

UpnpAddVirtualDir adds a virtual directory mapping.
- - -
-

Documentation

-
UpnpAddVirtualDir adds a virtual directory mapping. - -

All webserver requests containing the given directory are read using -functions contained in a UpnpVirtualDirCallbacks structure registered -via UpnpSetVirtualDirCallbacks. - -

-
Parameters:
dirName - The name of the new directory mapping to add. -
Returns:
[int] An integer representing one of the following: -
    -
  • UPPN_E_SUCCESS: The operation completed successfully. -
  • UPNP_E_INVALID_ARGUMENT: dirName is not valid. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpCancelHttpGet.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpCancelHttpGet.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpCancelHttpGet.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpCancelHttpGet.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,27 +0,0 @@ - - - - - EXPORT_SPEC int UpnpCancelHttpGet - - - - -

EXPORT_SPEC int UpnpCancelHttpGet

(IN void* handle)

UpnpCancelHttpGet set the cancel flag of the handle parameter.
- - -
-

Documentation

-
UpnpCancelHttpGet set the cancel flag of the handle -parameter. - -

-
Returns:
[int] An integer representing one of the following: -
    -
  • UPNP_E_SUCCESS: The operation completed successfully. -
  • UPNP_E_INVALID_PARAM: handle is not a valid pointer. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpClient_Handle.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpClient_Handle.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpClient_Handle.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpClient_Handle.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,22 +0,0 @@ - - - - - typedef int UpnpClient_Handle - - - - -

typedef int UpnpClient_Handle

Returned when a control point application registers with UpnpRegisterClient.
- - -
-

Documentation

-
Returned when a control point application registers with -UpnpRegisterClient. Client handles can only be used with -functions that operate with a client handle.
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpCloseHttpGet.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpCloseHttpGet.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpCloseHttpGet.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpCloseHttpGet.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,27 +0,0 @@ - - - - - EXPORT_SPEC int UpnpCloseHttpGet - - - - -

EXPORT_SPEC int UpnpCloseHttpGet

(IN void* handle)

UpnpCloseHttpGet closes the connection and frees memory that was allocated for the handle parameter.
- - -
-

Documentation

-
UpnpCloseHttpGet closes the connection and frees memory that was -allocated for the handle parameter. - -

-
Returns:
[int] An integer representing one of the following: -
    -
  • UPNP_E_SUCCESS: The operation completed successfully. -
  • UPNP_E_INVALID_PARAM: handle is not a valid pointer. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpCloseHttpPost.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpCloseHttpPost.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpCloseHttpPost.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpCloseHttpPost.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,42 +0,0 @@ - - - - - EXPORT_SPEC int UpnpCloseHttpPost - - - - -

EXPORT_SPEC int UpnpCloseHttpPost

( IN void* handle,
  IN OUT int* httpStatus,
  IN int timeout )

UpnpCloseHttpPost sends and receives any pending data, closes the connection with the server, and frees memory allocated during the UpnpOpenHttpPost call.
- - -
-

Documentation

-
UpnpCloseHttpPost sends and receives any pending data, closes the -connection with the server, and frees memory allocated during the -UpnpOpenHttpPost call. - -

-
Parameters:
handle - The handle of the connection to close, -created by the call to -UpnpOpenHttpPost. -
httpStatus - A pointer to a buffer to store the -final status of the connection. -
timeout - A time out value sent with the request -during which a response is expected from -the server, failing which, an error is -reported.
Returns:
[int] An integer representing one of the following: -
    -
  • UPNP_E_SUCCESS: The operation completed successfully. -
  • UPNP_E_INVALID_PARAM: Either handle, or -httpStatus is not a valid pointer. -
  • UPNP_E_SOCKET_READ: An error or timeout occurred reading -from a socket. -
  • UPNP_E_OUTOF_SOCKET: Too many sockets are currently -allocated. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_CONTROL_ACTION_COMPLETE.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_CONTROL_ACTION_COMPLETE.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_CONTROL_ACTION_COMPLETE.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_CONTROL_ACTION_COMPLETE.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,22 +0,0 @@ - - - - - UPNP_CONTROL_ACTION_COMPLETE - - - - -

UPNP_CONTROL_ACTION_COMPLETE

A UpnpSendActionAsync call completed.
- - -
-

Documentation

-
A UpnpSendActionAsync call completed. The Event -parameter contains a pointer to a Upnp_Action_Complete structure -with the results of the action.
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_CONTROL_ACTION_REQUEST.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_CONTROL_ACTION_REQUEST.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_CONTROL_ACTION_REQUEST.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_CONTROL_ACTION_REQUEST.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ - - - - - UPNP_CONTROL_ACTION_REQUEST - - - - -

UPNP_CONTROL_ACTION_REQUEST

Received by a device when a control point issues a control request.
- - -
-

Documentation

-
Received by a device when a control point issues a control -request. The Event parameter contains a pointer to a -Upnp_Action_Request structure containing the action. The application -stores the results of the action in this structure.
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_CONTROL_GET_VAR_COMPLETE.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_CONTROL_GET_VAR_COMPLETE.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_CONTROL_GET_VAR_COMPLETE.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_CONTROL_GET_VAR_COMPLETE.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,22 +0,0 @@ - - - - - UPNP_CONTROL_GET_VAR_COMPLETE - - - - -

UPNP_CONTROL_GET_VAR_COMPLETE

A UpnpGetServiceVarStatus call completed.
- - -
-

Documentation

-
A UpnpGetServiceVarStatus call completed. The Event -parameter contains a pointer to a Upnp_State_Var_Complete structure -containing the value for the variable.
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_CONTROL_GET_VAR_REQUEST.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_CONTROL_GET_VAR_REQUEST.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_CONTROL_GET_VAR_REQUEST.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_CONTROL_GET_VAR_REQUEST.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ - - - - - UPNP_CONTROL_GET_VAR_REQUEST - - - - -

UPNP_CONTROL_GET_VAR_REQUEST

Received by a device when a query for a single service variable arrives.
- - -
-

Documentation

-
Received by a device when a query for a single service variable -arrives. The Event parameter contains a pointer to a -Upnp_State_Var_Request structure containing the name of the variable -and value.
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpCreatePropertySet.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpCreatePropertySet.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpCreatePropertySet.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpCreatePropertySet.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,28 +0,0 @@ - - - - - EXPORT_SPEC IXML_Document* UpnpCreatePropertySet - - - - -

EXPORT_SPEC IXML_Document* UpnpCreatePropertySet

( IN int NumArg,
  IN const char* Arg,
  IN ... )

UpnpCreatePropertySet creates a property set message packet.
- - -
-

Documentation

-
UpnpCreatePropertySet creates a property set -message packet. Any number of input parameters can be passed -to this function but every input variable name should have -a matching value input argument. - -

-
Parameters:
NumArg - The number of argument pairs passed. -
Arg - The status variable name and value pair.
Returns:
[IXML_Document*] NULL on failure, or the property-set -document node. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/Upnp_DescType.html pupnp-1.8-1.8.4/docs/dist/html/upnp/Upnp_DescType.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/Upnp_DescType.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/Upnp_DescType.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,34 +0,0 @@ - - - - - enum Upnp_DescType - - - - -

enum Upnp_DescType

Specifies the type of description in UpnpRegisterRootDevice2.
- -
These values control how UpnpRegisterRootDevice2 -interprets the description parameter.
- -
-
-
- -o -UPNPREG_URL_DESC
The description is the URL to the description document. -
- -o -UPNPREG_FILENAME_DESC
The description is a file name on the local file system containing the description of the device. -
- -o -UPNPREG_BUF_DESC
The description is a pointer to a character array containing the XML description document. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpDevice_Handle.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpDevice_Handle.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpDevice_Handle.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpDevice_Handle.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,22 +0,0 @@ - - - - - typedef int UpnpDevice_Handle - - - - -

typedef int UpnpDevice_Handle

Returned when a device application registers with UpnpRegisterRootDevice or UpnpRegisterRootDevice2.
- - -
-

Documentation

-
Returned when a device application registers with -UpnpRegisterRootDevice or UpnpRegisterRootDevice2. Device handles -can only be used with functions that operate with a device handle.
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_DISCOVERY_ADVERTISEMENT_ALIVE.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_DISCOVERY_ADVERTISEMENT_ALIVE.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_DISCOVERY_ADVERTISEMENT_ALIVE.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_DISCOVERY_ADVERTISEMENT_ALIVE.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ - - - - - UPNP_DISCOVERY_ADVERTISEMENT_ALIVE - - - - -

UPNP_DISCOVERY_ADVERTISEMENT_ALIVE

Received by a control point when a new device or service is available.
- - -
-

Documentation

-
Received by a control point when a new device or service is available. -The Event parameter contains a pointer to a -Upnp_Discovery structure with the information about the device -or service.
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_DISCOVERY_ADVERTISEMENT_BYEBYE.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_DISCOVERY_ADVERTISEMENT_BYEBYE.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_DISCOVERY_ADVERTISEMENT_BYEBYE.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_DISCOVERY_ADVERTISEMENT_BYEBYE.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ - - - - - UPNP_DISCOVERY_ADVERTISEMENT_BYEBYE - - - - -

UPNP_DISCOVERY_ADVERTISEMENT_BYEBYE

Received by a control point when a device or service shuts down.
- - -
-

Documentation

-
Received by a control point when a device or service shuts down. The -Event parameter contains a pointer to a Upnp_Discovery -structure containing the information about the device or -service.
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/Upnp_Discovery.html pupnp-1.8-1.8.4/docs/dist/html/upnp/Upnp_Discovery.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/Upnp_Discovery.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/Upnp_Discovery.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,115 +0,0 @@ - - - - - struct Upnp_Discovery - - - - -

struct Upnp_Discovery

Returned in a UPNP_DISCOVERY_RESULT callback.
- -
-

-
-[more]char Date[LINE_SIZE] -
Date when the response was generated. -
-[more]SOCKADDRIN* DestAddr -
The host address of the device responding to the search. -
-[more]char DeviceId[LINE_SIZE] -
The unique device identifier. -
-[more]char DeviceType[LINE_SIZE] -
The device type. -
-[more]int ErrCode -
The result code of the UpnpSearchAsync call. -
-[more]int Expires -
The expiration time of the advertisement. -
-[more]char Ext[LINE_SIZE] -
Confirmation that the MAN header was understood by the device. -
-[more]char Location[LINE_SIZE] -
The URL to the UPnP description document for the device. -
-[more]char Os[LINE_SIZE] -
The operating system the device is running. -
-[more]char ServiceType[LINE_SIZE] -
The service type. -
-[more]char ServiceVer[LINE_SIZE] -
The service version. -

- - - -
-

Documentation

-
Returned in a UPNP_DISCOVERY_RESULT callback.
-
- - - -
oint ErrCode -
The result code of the UpnpSearchAsync call. -

- - -

oint Expires -
The expiration time of the advertisement. -

- - -

ochar DeviceId[LINE_SIZE] -
The unique device identifier. -

- - -

ochar DeviceType[LINE_SIZE] -
The device type. -

- - -

ochar ServiceType[LINE_SIZE] -
The service type. -

- - -

ochar ServiceVer[LINE_SIZE] -
The service version. -

- - -

ochar Location[LINE_SIZE] -
The URL to the UPnP description document for the device. -

- - -

ochar Os[LINE_SIZE] -
The operating system the device is running. -

- - -

ochar Date[LINE_SIZE] -
Date when the response was generated. -

- - -

ochar Ext[LINE_SIZE] -
Confirmation that the MAN header was understood by the device. -

- - -

oSOCKADDRIN* DestAddr -
The host address of the device responding to the search. -

-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_DISCOVERY_SEARCH_RESULT.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_DISCOVERY_SEARCH_RESULT.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_DISCOVERY_SEARCH_RESULT.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_DISCOVERY_SEARCH_RESULT.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ - - - - - UPNP_DISCOVERY_SEARCH_RESULT - - - - -

UPNP_DISCOVERY_SEARCH_RESULT

Received by a control point when a matching device or service responds.
- - -
-

Documentation

-
Received by a control point when a matching device or service responds. -The Event parameter contains a pointer to a -Upnp_Discovery structure containing the information about -the reply to the search request.
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_DISCOVERY_SEARCH_TIMEOUT.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_DISCOVERY_SEARCH_TIMEOUT.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_DISCOVERY_SEARCH_TIMEOUT.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_DISCOVERY_SEARCH_TIMEOUT.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,22 +0,0 @@ - - - - - UPNP_DISCOVERY_SEARCH_TIMEOUT - - - - -

UPNP_DISCOVERY_SEARCH_TIMEOUT

Received by a control point when the search timeout expires.
- - -
-

Documentation

-
Received by a control point when the search timeout expires. The -SDK generates no more callbacks for this search after this -event. The Event parameter is NULL.
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpDownloadUrlItem.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpDownloadUrlItem.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpDownloadUrlItem.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpDownloadUrlItem.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,50 +0,0 @@ - - - - - EXPORT_SPEC int UpnpDownloadUrlItem - - - - -

EXPORT_SPEC int UpnpDownloadUrlItem

( IN const char* url,
  OUT char** outBuf,
  OUT char* contentType )

UpnpDownloadUrlItem downloads a file specified in a URL.
- - -
-

Documentation

-
UpnpDownloadUrlItem downloads a file specified in a URL. -The SDK allocates the memory for outBuf and the -application is responsible for freeing this memory. Note that -the item is passed as a single buffer. Large items should not -be transferred using this function. - -

-
Parameters:
url - URL of an item to download. -
outBuf - Buffer to store the downloaded item. -
contentType - HTTP header value content type if -present. It should be at least -LINE_SIZE bytes in size.
Returns:
[int] An integer representing one of the following: -
    -
  • UPNP_E_SUCCESS: The operation completed successfully. -
  • UPNP_E_INVALID_PARAM: Either url, outBuf -or contentType is not a valid pointer. -
  • UPNP_E_INVALID_URL: The url is not a valid -URL. -
  • UPNP_E_OUTOF_MEMORY: Insufficient resources exist to -download this file. -
  • UPNP_E_NETWORK_ERROR: A network error occurred. -
  • UPNP_E_SOCKET_WRITE: An error or timeout occurred writing -to a socket. -
  • UPNP_E_SOCKET_READ: An error or timeout occurred reading -from a socket. -
  • UPNP_E_SOCKET_BIND: An error occurred binding a socket. -
  • UPNP_E_SOCKET_CONNECT: An error occurred connecting a -socket. -
  • UPNP_E_OUTOF_SOCKET: Too many sockets are currently -allocated. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpDownloadXmlDoc.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpDownloadXmlDoc.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpDownloadXmlDoc.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpDownloadXmlDoc.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,48 +0,0 @@ - - - - - EXPORT_SPEC int UpnpDownloadXmlDoc - - - - -

EXPORT_SPEC int UpnpDownloadXmlDoc

( IN const char* url,
  OUT IXML_Document** xmlDoc )

UpnpDownloadXmlDoc downloads an XML document specified in a URL.
- - -
-

Documentation

-
UpnpDownloadXmlDoc downloads an XML document specified in a URL. -The SDK parses the document and returns it in the form of a -DOM document. The application is responsible for freeing the DOM document. - -

-
Parameters:
url - URL of the XML document. -
xmlDoc - A pointer in which to store the -XML document.
Returns:
[int] An integer representing one of the following: -
    -
  • UPNP_E_SUCCESS: The operation completed successfully. -
  • UPNP_E_INVALID_PARAM: Either url or xmlDoc -is not a valid pointer. -
  • UPNP_E_INVALID_DESC: The XML document was not -found or it does not contain a valid XML description. -
  • UPNP_E_INVALID_URL: The url is not a valid -URL. -
  • UPNP_E_OUTOF_MEMORY: There are insufficient resources to -download the XML document. -
  • UPNP_E_NETWORK_ERROR: A network error occurred. -
  • UPNP_E_SOCKET_WRITE: An error or timeout occurred writing -to a socket. -
  • UPNP_E_SOCKET_READ: An error or timeout occurred reading -from a socket. -
  • UPNP_E_SOCKET_BIND: An error occurred binding a socket. -
  • UPNP_E_SOCKET_CONNECT: An error occurred connecting the -socket. -
  • UPNP_E_OUTOF_SOCKET: Too many sockets are currently -allocated. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_ALREADY_REGISTERED-120.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_ALREADY_REGISTERED-120.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_ALREADY_REGISTERED-120.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_ALREADY_REGISTERED-120.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ - - - - - UPNP_E_ALREADY_REGISTERED [-120] - - - - -

UPNP_E_ALREADY_REGISTERED [-120]

-
UPNP_E_ALREADY_REGISTERED signifies that a client or a device is -already registered. The SDK currently has a limit of one registered -client and one registered device per process.
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_BAD_HTTPMSG-119.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_BAD_HTTPMSG-119.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_BAD_HTTPMSG-119.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_BAD_HTTPMSG-119.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ - - - - - UPNP_E_BAD_HTTPMSG [-119] - - - - -

UPNP_E_BAD_HTTPMSG [-119]

-
UPNP_E_BAD_HTTPMSG signifies that the HTTP message contains invalid -message headers. The error always refers to the HTTP message header -received from the remote host. The main areas where this occurs are in -SOAP control messages (e.g. UpnpSendAction), GENA subscription -message (e.g. UpnpSubscribe), GENA event notifications (e.g. -UpnpNotify), and HTTP transfers (e.g. UpnpDownloadXmlDoc).
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_BAD_RESPONSE-113.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_BAD_RESPONSE-113.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_BAD_RESPONSE-113.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_BAD_RESPONSE-113.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ - - - - - UPNP_E_BAD_RESPONSE [-113] - - - - -

UPNP_E_BAD_RESPONSE [-113]

-
UPNP_E_BAD_RESPONSE signifies that the response received from the -remote side of a connection is not correct for the protocol. This applies -to the GENA, SOAP, and HTTP protocols.
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_CANCELED-210.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_CANCELED-210.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_CANCELED-210.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_CANCELED-210.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ - - - - - UPNP_E_CANCELED [-210] - - - - -

UPNP_E_CANCELED [-210]

-
UPNP_E_CANCELED signifies that the operation was canceled. This -error can be returned by any function that allows for external -cancelation.
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_EXT_NOT_XML-504.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_EXT_NOT_XML-504.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_EXT_NOT_XML-504.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_EXT_NOT_XML-504.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ - - - - - UPNP_E_EXT_NOT_XML [-504] - - - - -

UPNP_E_EXT_NOT_XML [-504]

-
UPNP_E_EXT_NOT_XML signifies that the file name of the description -document passed to UpnpRegisterRootDevice2 does not end in ".xml".
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_FILE_NOT_FOUND-502.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_FILE_NOT_FOUND-502.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_FILE_NOT_FOUND-502.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_FILE_NOT_FOUND-502.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ - - - - - UPNP_E_FILE_NOT_FOUND [-502] - - - - -

UPNP_E_FILE_NOT_FOUND [-502]

-
UPNP_E_FILE_NOT_FOUND signifies that the filename passed -to one of the device registration functions was not found or was not -accessible.
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_FILE_READ_ERROR-503.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_FILE_READ_ERROR-503.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_FILE_READ_ERROR-503.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_FILE_READ_ERROR-503.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,16 +0,0 @@ - - - - - UPNP_E_FILE_READ_ERROR [-503] - - - - -

UPNP_E_FILE_READ_ERROR [-503]

-
UPNP_E_FILE_READ_ERROR signifies an error when reading a file.
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_FINISH-116.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_FINISH-116.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_FINISH-116.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_FINISH-116.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ - - - - - UPNP_E_FINISH [-116] - - - - -

UPNP_E_FINISH [-116]

-
UPNP_E_FINISH signifies that UpnpInit has not been called, or -that UpnpFinish has already been called. None of the API functions -operate until UpnpInit successfully completes.
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_INIT-105.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_INIT-105.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_INIT-105.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_INIT-105.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,19 +0,0 @@ - - - - - UPNP_E_INIT [-105] - - - - -

UPNP_E_INIT [-105]

-
UPNP_E_INIT signifies that the SDK has already been -initialized. The SDK needs to be initialied only once per process. -Any additional initialization attempts simply return this error with -no other ill effects.
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_INIT_FAILED-117.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_INIT_FAILED-117.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_INIT_FAILED-117.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_INIT_FAILED-117.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ - - - - - UPNP_E_INIT_FAILED [-117] - - - - -

UPNP_E_INIT_FAILED [-117]

-
UPNP_E_INIT_FAILED signifies that UpnpInit cannot complete. -The typical reason is failure to allocate sufficient resources.
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_INTERNAL_ERROR-911.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_INTERNAL_ERROR-911.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_INTERNAL_ERROR-911.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_INTERNAL_ERROR-911.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ - - - - - UPNP_E_INTERNAL_ERROR [-911] - - - - -

UPNP_E_INTERNAL_ERROR [-911]

-
UPNP_E_INTERNAL_ERROR is the generic error code for internal -conditions not covered by other error codes.
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_INVALID_ACTION-115.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_INVALID_ACTION-115.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_INVALID_ACTION-115.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_INVALID_ACTION-115.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ - - - - - UPNP_E_INVALID_ACTION [-115] - - - - -

UPNP_E_INVALID_ACTION [-115]

-
UPNP_E_INVALID_ACTION signifies that the SOAP action message is -invalid. This can be because the DOM document passed to the function was -malformed or the action message is not correct for the given action.
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_INVALID_ARGUMENT-501.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_INVALID_ARGUMENT-501.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_INVALID_ARGUMENT-501.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_INVALID_ARGUMENT-501.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ - - - - - UPNP_E_INVALID_ARGUMENT [-501] - - - - -

UPNP_E_INVALID_ARGUMENT [-501]

-
UPNP_E_INVALID_ARGUMENT signifies that one or more of the parameters -passed to a function is invalid. Refer to the individual function -descriptions for the acceptable ranges for parameters.
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_INVALID_DESC-107.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_INVALID_DESC-107.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_INVALID_DESC-107.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_INVALID_DESC-107.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ - - - - - UPNP_E_INVALID_DESC [-107] - - - - -

UPNP_E_INVALID_DESC [-107]

-
UPNP_E_INVALID_DESC signifies that the description document passed -to UpnpRegisterRootDevice or UpnpRegisterRootDevice2 is an -invalid description document.
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_INVALID_HANDLE-100.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_INVALID_HANDLE-100.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_INVALID_HANDLE-100.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_INVALID_HANDLE-100.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ - - - - - UPNP_E_INVALID_HANDLE [-100] - - - - -

UPNP_E_INVALID_HANDLE [-100]

-
UPNP_E_INVALID_HANDLE signifies that the handle passed to a -function is not a recognized as a valid handle.
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_INVALID_PARAM-101.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_INVALID_PARAM-101.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_INVALID_PARAM-101.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_INVALID_PARAM-101.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ - - - - - UPNP_E_INVALID_PARAM [-101] - - - - -

UPNP_E_INVALID_PARAM [-101]

-
UPNP_E_INVALID_PARAM signifies that one or more of the parameters -passed to the function is not valid. Refer to the documentation for each -function for more information on the valid ranges of the parameters.
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_INVALID_SERVICE-111.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_INVALID_SERVICE-111.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_INVALID_SERVICE-111.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_INVALID_SERVICE-111.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,19 +0,0 @@ - - - - - UPNP_E_INVALID_SERVICE [-111] - - - - -

UPNP_E_INVALID_SERVICE [-111]

-
UPNP_E_INVALID_SERVICE is returned only by UpnpNotify, -UpnpNotifyExt, UpnpAcceptSubscription, and -UpnpAcceptSubscriptionExt to signify that the device ID/service -ID pair does not refer to a valid service.
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_INVALID_URL-108.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_INVALID_URL-108.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_INVALID_URL-108.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_INVALID_URL-108.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,19 +0,0 @@ - - - - - UPNP_E_INVALID_URL [-108] - - - - -

UPNP_E_INVALID_URL [-108]

-
UPNP_E_INVALID_URL signifies that a URL passed into the function -is invalid. The actual cause is function specific, but in general, the -URL itself might be malformed (e.g. have invalid characters in it) or -the host might be unreachable.
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_LISTEN-206.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_LISTEN-206.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_LISTEN-206.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_LISTEN-206.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ - - - - - UPNP_E_LISTEN [-206] - - - - -

UPNP_E_LISTEN [-206]

-
UPNP_E_LISTEN signifies that the SDK had a problem setting the -socket to listen for incoming connections. This error only happens during -initialization (i.e. UpnpInit).
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpEnableWebserver.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpEnableWebserver.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpEnableWebserver.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpEnableWebserver.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,28 +0,0 @@ - - - - - EXPORT_SPEC int UpnpEnableWebserver - - - - -

EXPORT_SPEC int UpnpEnableWebserver

( IN int enable )

UpnpEnableWebServer enables or disables the webserver.
- - -
-

Documentation

-
UpnpEnableWebServer enables or disables the webserver. A value of -TRUE enables the webserver, FALSE disables it. - -

-
Parameters:
enable - TRUE to enable, FALSE to disable.
Returns:
[int] An integer representing one of the following: -
    -
  • UPPN_E_SUCCESS: The operation completed successfully. -
  • UPNP_E_INVALID_ARGUMENT: enable is not valid. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_NETWORK_ERROR-200.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_NETWORK_ERROR-200.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_NETWORK_ERROR-200.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_NETWORK_ERROR-200.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,20 +0,0 @@ - - - - - UPNP_E_NETWORK_ERROR [-200] - - - - -

UPNP_E_NETWORK_ERROR [-200]

-
UPNP_E_NETWORK_ERROR signifies that a network error occurred. It -is the generic error code for network problems that are not covered under -one of the more specific error codes. The typical meaning is the SDK -failed to read the local IP address or had problems configuring one of -the sockets.
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_NOT_FOUND-507.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_NOT_FOUND-507.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_NOT_FOUND-507.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_NOT_FOUND-507.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ - - - - - UPNP_E_NOT_FOUND [-507] - - - - -

UPNP_E_NOT_FOUND [-507]

-
UPNP_E_NOT_FOUND signifies that the response to a SOAP request -did not contain the required XML constructs.
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_NOTIFY_UNACCEPTED-303.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_NOTIFY_UNACCEPTED-303.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_NOTIFY_UNACCEPTED-303.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_NOTIFY_UNACCEPTED-303.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ - - - - - UPNP_E_NOTIFY_UNACCEPTED [-303] - - - - -

UPNP_E_NOTIFY_UNACCEPTED [-303]

-
UPNP_E_NOTIFY_UNACCEPTED signifies that the remote host did not -accept the notify sent from the local device.
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_OUTOF_HANDLE-102.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_OUTOF_HANDLE-102.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_OUTOF_HANDLE-102.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_OUTOF_HANDLE-102.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ - - - - - UPNP_E_OUTOF_HANDLE [-102] - - - - -

UPNP_E_OUTOF_HANDLE [-102]

-
UPNP_E_OUTOF_HANDLE signifies that the SDK does not have any -more space for additional handles. The SDK allocates space for only -a few handles in order to conserve memory.
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_OUTOF_MEMORY-104.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_OUTOF_MEMORY-104.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_OUTOF_MEMORY-104.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_OUTOF_MEMORY-104.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ - - - - - UPNP_E_OUTOF_MEMORY [-104] - - - - -

UPNP_E_OUTOF_MEMORY [-104]

-
UPNP_E_OUTOF_MEMORY signifies that not enough resources are -currently available to complete the operation. Most operations require -some free memory in order to complete their work.
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_OUTOF_SOCKET-205.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_OUTOF_SOCKET-205.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_OUTOF_SOCKET-205.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_OUTOF_SOCKET-205.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ - - - - - UPNP_E_OUTOF_SOCKET [-205] - - - - -

UPNP_E_OUTOF_SOCKET [-205]

-
UPNP_E_OUTOF_SOCKET signifies that the SDK cannot create any -more sockets. This occurs in any function that makes -network connections, such as discovery (e.g. UpnpSearchAsync or -UpnpSendAdvertisement), control (e.g. UpnpSendAction), eventing -(e.g. UpnpNotify), and HTTP functions (e.g. -UpnpDownloadXmlDoc).
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_SOCKET_BIND-203.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_SOCKET_BIND-203.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_SOCKET_BIND-203.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_SOCKET_BIND-203.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ - - - - - UPNP_E_SOCKET_BIND [-203] - - - - -

UPNP_E_SOCKET_BIND [-203]

-
UPNP_E_SOCKET_BIND signifies that the SDK had a problem binding -a socket to a network interface. This occurs in any function that makes -network connections, such as discovery (e.g. UpnpSearchAsync or -UpnpSendAdvertisement), control (e.g. UpnpSendAction), eventing -(e.g. UpnpNotify), and HTTP functions (e.g. -UpnpDownloadXmlDoc).
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_SOCKET_CONNECT-204.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_SOCKET_CONNECT-204.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_SOCKET_CONNECT-204.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_SOCKET_CONNECT-204.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ - - - - - UPNP_E_SOCKET_CONNECT [-204] - - - - -

UPNP_E_SOCKET_CONNECT [-204]

-
UPNP_E_SOCKET_CONNECT signifies that the SDK had a problem -connecting to a remote host. This occurs in any function that makes -network connections, such as discovery (e.g. UpnpSearchAsync or -UpnpSendAdvertisement), control (e.g. UpnpSendAction), eventing -(e.g. UpnpNotify), and HTTP functions (e.g. -UpnpDownloadXmlDoc).
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_SOCKET_ERROR-208.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_SOCKET_ERROR-208.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_SOCKET_ERROR-208.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_SOCKET_ERROR-208.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ - - - - - UPNP_E_SOCKET_ERROR [-208] - - - - -

UPNP_E_SOCKET_ERROR [-208]

-
UPNP_E_SOCKET_ERROR is the generic socket error code for -conditions not covered by other error codes. This error can be returned -by any function that performs network operations.
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_SOCKET_READ-202.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_SOCKET_READ-202.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_SOCKET_READ-202.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_SOCKET_READ-202.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,20 +0,0 @@ - - - - - UPNP_E_SOCKET_READ [-202] - - - - -

UPNP_E_SOCKET_READ [-202]

-
UPNP_E_SOCKET_READ signifies an error reading from a socket. This -occurs in any function that makes network connections, such -as discovery (e.g. UpnpSearchAsync or UpnpSendAdvertisement), -control (e.g. UpnpSendAction), eventing (e.g. UpnpNotify), -and HTTP functions (e.g. UpnpDownloadXmlDoc).
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_SOCKET_WRITE-201.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_SOCKET_WRITE-201.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_SOCKET_WRITE-201.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_SOCKET_WRITE-201.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,20 +0,0 @@ - - - - - UPNP_E_SOCKET_WRITE [-201] - - - - -

UPNP_E_SOCKET_WRITE [-201]

-
UPNP_E_SOCKET_WRITE signifies an error writing to a socket. This -occurs in any function that makes network connections, such -as discovery (e.g. UpnpSearchAsync or UpnpSendAdvertisement), -control (e.g. UpnpSendAction), eventing (e.g. UpnpNotify), -and HTTP functions (e.g. UpnpDownloadXmlDoc).
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_SUBSCRIBE_UNACCEPTED-301.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_SUBSCRIBE_UNACCEPTED-301.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_SUBSCRIBE_UNACCEPTED-301.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_SUBSCRIBE_UNACCEPTED-301.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ - - - - - UPNP_E_SUBSCRIBE_UNACCEPTED [-301] - - - - -

UPNP_E_SUBSCRIBE_UNACCEPTED [-301]

-
UPNP_E_SUBSCRIBE_UNACCEPTED signifies that a subscription -request was rejected from the remote side.
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_SUCCESS0.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_SUCCESS0.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_SUCCESS0.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_SUCCESS0.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,19 +0,0 @@ - - - - - UPNP_E_SUCCESS [0] - - - - -

UPNP_E_SUCCESS [0]

-
UPNP_E_SUCCESS signifies that the operation completed successfully. -For asynchronous functions, this only means that the packet generated by -the operation was successfully transmitted on the network. The result of -the entire operation comes as part of the callback for that operation.
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_TIMEDOUT-207.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_TIMEDOUT-207.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_TIMEDOUT-207.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_TIMEDOUT-207.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ - - - - - UPNP_E_TIMEDOUT [-207] - - - - -

UPNP_E_TIMEDOUT [-207]

-
UPNP_E_TIMEDOUT signifies that too much time elapsed before the -required number of bytes were sent or received over a socket. This error -can be returned by any function that performs network operations.
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_UNSUBSCRIBE_UNACCEPTED-302.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_UNSUBSCRIBE_UNACCEPTED-302.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_E_UNSUBSCRIBE_UNACCEPTED-302.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_E_UNSUBSCRIBE_UNACCEPTED-302.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ - - - - - UPNP_E_UNSUBSCRIBE_UNACCAPTED [-302] - - - - -

UPNP_E_UNSUBSCRIBE_UNACCAPTED [-302]

-
UPNP_E_UNSUBSCRIBE_UNACCEPTED signifies that an unsubscribe -request was rejected from the remote side.
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_EVENT_AUTORENEWAL_FAILED.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_EVENT_AUTORENEWAL_FAILED.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_EVENT_AUTORENEWAL_FAILED.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_EVENT_AUTORENEWAL_FAILED.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ - - - - - UPNP_EVENT_AUTORENEWAL_FAILED - - - - -

UPNP_EVENT_AUTORENEWAL_FAILED

The auto-renewal of a client subscription failed.
- - -
-

Documentation

-
The auto-renewal of a client subscription failed. -The Event parameter is a Upnp_Event_Subscribe structure -with the error code set appropriately. The subscription is no longer -valid.
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/Upnp_Event.html pupnp-1.8-1.8.4/docs/dist/html/upnp/Upnp_Event.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/Upnp_Event.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/Upnp_Event.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,51 +0,0 @@ - - - - - struct Upnp_Event - - - - -

struct Upnp_Event

Returned along with a UPNP_EVENT_RECEIVED callback.
- -
-

-
-[more]IXML_Document* ChangedVariables -
The DOM tree representing the changes generating the event. -
-[more]int EventKey -
The event sequence number. -
-[more]Upnp_SID Sid -
The subscription ID for this subscription. -

- - - -
-

Documentation

-
Returned along with a UPNP_EVENT_RECEIVED callback.
-
- - - -
oUpnp_SID Sid -
The subscription ID for this subscription. -

- - -

oint EventKey -
The event sequence number. -

- - -

oIXML_Document* ChangedVariables -
The DOM tree representing the changes generating the event. -

-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_EVENT_RECEIVED.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_EVENT_RECEIVED.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_EVENT_RECEIVED.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_EVENT_RECEIVED.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,22 +0,0 @@ - - - - - UPNP_EVENT_RECEIVED - - - - -

UPNP_EVENT_RECEIVED

Received by a control point when an event arrives.
- - -
-

Documentation

-
Received by a control point when an event arrives. The -Event parameter contains a Upnp_Event structure -with the information about the event.
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_EVENT_RENEWAL_COMPLETE.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_EVENT_RENEWAL_COMPLETE.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_EVENT_RENEWAL_COMPLETE.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_EVENT_RENEWAL_COMPLETE.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,22 +0,0 @@ - - - - - UPNP_EVENT_RENEWAL_COMPLETE - - - - -

UPNP_EVENT_RENEWAL_COMPLETE

A UpnpRenewSubscriptionAsync call completed.
- - -
-

Documentation

-
A UpnpRenewSubscriptionAsync call completed. The status of -the renewal is in the Event parameter as a -Upnp_Event_Subscription structure.
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_EVENT_SUBSCRIBE_COMPLETE.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_EVENT_SUBSCRIBE_COMPLETE.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_EVENT_SUBSCRIBE_COMPLETE.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_EVENT_SUBSCRIBE_COMPLETE.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,22 +0,0 @@ - - - - - UPNP_EVENT_SUBSCRIBE_COMPLETE - - - - -

UPNP_EVENT_SUBSCRIBE_COMPLETE

A UpnpSubscribeAsync call completed.
- - -
-

Documentation

-
A UpnpSubscribeAsync call completed. The status of the -subscription is in the Event parameter as a -Upnp_Event_Subscription structure.
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/Upnp_Event_Subscribe.html pupnp-1.8-1.8.4/docs/dist/html/upnp/Upnp_Event_Subscribe.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/Upnp_Event_Subscribe.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/Upnp_Event_Subscribe.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,64 +0,0 @@ - - - - - struct Upnp_Event_Subscribe - - - - -

struct Upnp_Event_Subscribe

Returned along with a UPNP_EVENT_SUBSCRIBE_COMPLETE or UPNP_EVENT_UNSUBSCRIBE_COMPLETE callback.
- -
-

-
-[more]int ErrCode -
The result of the operation. -
-[more]char PublisherUrl[NAME_SIZE] -
The event URL being subscribed to or removed from. -
-[more]Upnp_SID Sid -
The SID for this subscription. -
-[more]int TimeOut -
The actual subscription time (for subscriptions only). -

- - - -
-

Documentation

-
Returned along with a UPNP_EVENT_SUBSCRIBE_COMPLETE or -UPNP_EVENT_UNSUBSCRIBE_COMPLETE callback.
-
- - - -
oUpnp_SID Sid -
The SID for this subscription. For subscriptions, this only -contains a valid SID if the Upnp_EventSubscribe.result field -contains a UPNP_E_SUCCESS result code. For unsubscriptions, -this contains the SID from which the subscription is being -unsubscribed. -

- - -

oint ErrCode -
The result of the operation. -

- - -

ochar PublisherUrl[NAME_SIZE] -
The event URL being subscribed to or removed from. -

- - -

oint TimeOut -
The actual subscription time (for subscriptions only). -

-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_EVENT_SUBSCRIPTION_EXPIRED.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_EVENT_SUBSCRIPTION_EXPIRED.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_EVENT_SUBSCRIPTION_EXPIRED.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_EVENT_SUBSCRIPTION_EXPIRED.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ - - - - - UPNP_EVENT_SUBSCRIPTION_EXPIRED - - - - -

UPNP_EVENT_SUBSCRIPTION_EXPIRED

A client subscription has expired.
- - -
-

Documentation

-
A client subscription has expired. This will only occur -if auto-renewal of subscriptions is disabled. -The Event parameter is a Upnp_Event_Subscribe -structure. The subscription is no longer valid.
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_EVENT_SUBSCRIPTION_REQUEST.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_EVENT_SUBSCRIPTION_REQUEST.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_EVENT_SUBSCRIPTION_REQUEST.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_EVENT_SUBSCRIPTION_REQUEST.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,27 +0,0 @@ - - - - - UPNP_EVENT_SUBSCRIPTION_REQUEST - - - - -

UPNP_EVENT_SUBSCRIPTION_REQUEST

Received by a device when a subscription arrives.
- - -
-

Documentation

-
Received by a device when a subscription arrives. -The Event parameter contains a pointer to a -Upnp_Subscription_Request structure. At this point, the -subscription has already been accepted. UpnpAcceptSubscription -needs to be called to confirm the subscription and transmit the -initial state table. This can be done during this callback. The SDK -generates no events for a subscription unless the device -application calls UpnpAcceptSubscription.
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UPnP_EventType.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UPnP_EventType.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UPnP_EventType.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UPnP_EventType.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,83 +0,0 @@ - - - - - enum UPnP_EventType - - - - -

enum UPnP_EventType

The reason code for an event callback.
- -
The Event parameter will be different depending on the -reason for the callback. The descriptions for each event -type describe the contents of the Event parameter.
- -
-
-
- -o -UPNP_CONTROL_ACTION_REQUEST
Received by a device when a control point issues a control request. -
- -o -UPNP_CONTROL_ACTION_COMPLETE
A UpnpSendActionAsync call completed. -
- -o -UPNP_CONTROL_GET_VAR_REQUEST
Received by a device when a query for a single service variable arrives. -
- -o -UPNP_CONTROL_GET_VAR_COMPLETE
A UpnpGetServiceVarStatus call completed. -
- -o -UPNP_DISCOVERY_ADVERTISEMENT_ALIVE
Received by a control point when a new device or service is available. -
- -o -UPNP_DISCOVERY_ADVERTISEMENT_BYEBYE
Received by a control point when a device or service shuts down. -
- -o -UPNP_DISCOVERY_SEARCH_RESULT
Received by a control point when a matching device or service responds. -
- -o -UPNP_DISCOVERY_SEARCH_TIMEOUT
Received by a control point when the search timeout expires. -
- -o -UPNP_EVENT_SUBSCRIPTION_REQUEST
Received by a device when a subscription arrives. -
- -o -UPNP_EVENT_RECEIVED
Received by a control point when an event arrives. -
- -o -UPNP_EVENT_RENEWAL_COMPLETE
A UpnpRenewSubscriptionAsync call completed. -
- -o -UPNP_EVENT_SUBSCRIBE_COMPLETE
A UpnpSubscribeAsync call completed. -
- -o -UPNP_EVENT_UNSUBSCRIBE_COMPLETE
A UpnpUnSubscribeAsync call completed. -
- -o -UPNP_EVENT_AUTORENEWAL_FAILED
The auto-renewal of a client subscription failed. -
- -o -UPNP_EVENT_SUBSCRIPTION_EXPIRED
A client subscription has expired. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_EVENT_UNSUBSCRIBE_COMPLETE.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_EVENT_UNSUBSCRIBE_COMPLETE.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_EVENT_UNSUBSCRIBE_COMPLETE.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_EVENT_UNSUBSCRIBE_COMPLETE.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,22 +0,0 @@ - - - - - UPNP_EVENT_UNSUBSCRIBE_COMPLETE - - - - -

UPNP_EVENT_UNSUBSCRIBE_COMPLETE

A UpnpUnSubscribeAsync call completed.
- - -
-

Documentation

-
A UpnpUnSubscribeAsync call completed. The status of the -subscription is in the Event parameter as a -Upnp_Event_Subscribe structure.
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpFinish.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpFinish.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpFinish.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpFinish.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,29 +0,0 @@ - - - - - EXPORT_SPEC int UpnpFinish - - - - -

EXPORT_SPEC int UpnpFinish

()

Terminates the Linux SDK for UPnP Devices.
- - -
-

Documentation

-
Terminates the Linux SDK for UPnP Devices. This function must be the last -API function called. It should be called only once. Subsequent calls to -this API return a UPNP_E_FINISH error code. - -

-
Returns:
[int] An integer representing one of the following: -
    -
  • UPNP_E_SUCCESS: The operation completed successfully. -
  • UPNP_E_FINISH: The SDK is already terminated or -it is not initialized. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/Upnp_FunPtr.html pupnp-1.8-1.8.4/docs/dist/html/upnp/Upnp_FunPtr.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/Upnp_FunPtr.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/Upnp_FunPtr.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,42 +0,0 @@ - - - - - typedef int (*Upnp_FunPtr) - - - - -

typedef int (*Upnp_FunPtr)

( IN Upnp_EventType EventType,
  IN void* Event, IN void* Cookie )

All callback functions share the same prototype, documented below.
- - -
-

Documentation

-
All callback functions share the same prototype, documented below. -Note that any memory passed to the callback function -is valid only during the callback and should be copied if it -needs to persist. This callback function needs to be thread -safe. The context of the callback is always on a valid thread -context and standard synchronization methods can be used. Note, -however, because of this the callback cannot call SDK functions -unless explicitly noted. - -

-      int CallbackFxn( Upnp_EventType EventType, void* Event, void* Cookie );
-    
- -

where EventType is the event that triggered the callback, -Event is a structure that denotes event-specific information for that -event, and Cookie is the user data passed when the callback was -registered. - -

See Upnp_EventType for more information on the callback values and -the associated Event parameter. - -

The return value of the callback is currently ignored. It may be used -in the future to communicate results back to the SDK.

-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpGetErrorMessage.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpGetErrorMessage.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpGetErrorMessage.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpGetErrorMessage.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,26 +0,0 @@ - - - - - EXPORT_SPEC const char* UpnpGetErrorMessage - - - - -

EXPORT_SPEC const char* UpnpGetErrorMessage

( int errorcode )

UpnpGetErrorMessage converts an SDK error code into a string error message suitable for display.
- - -
-

Documentation

-
UpnpGetErrorMessage converts an SDK error code into a -string error message suitable for display. The memory returned -from this function should NOT be freed. - -

-
Parameters:
errorcode - The SDK error code to convert.
Returns:
[char*] An ASCII text string representation of the error message -associated with the error code. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpGetServerIpAddress.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpGetServerIpAddress.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpGetServerIpAddress.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpGetServerIpAddress.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,26 +0,0 @@ - - - - - EXPORT_SPEC char* UpnpGetServerIpAddress - - - - -

EXPORT_SPEC char* UpnpGetServerIpAddress

(void)

If NULL is used as the IP address in UpnpInit, then this function can be used to retrieve the actual interface address on which device is running.
- - -
-

Documentation

-
If NULL is used as the IP address in UpnpInit, then this -function can be used to retrieve the actual interface address -on which device is running. If UpnpInit has not succeeded -then NULL is returned. - -

-
Returns:
[char*] The IP address on which an internal server is listening -for UPnP related requests.

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpGetServerPort.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpGetServerPort.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpGetServerPort.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpGetServerPort.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,26 +0,0 @@ - - - - - EXPORT_SPEC unsigned short UpnpGetServerPort - - - - -

EXPORT_SPEC unsigned short UpnpGetServerPort

(void)

If '0' is used as the port number in UpnpInit, then this function can be used to retrieve the actual port allocated to the SDK.
- - -
-

Documentation

-
If '0' is used as the port number in UpnpInit, then this -function can be used to retrieve the actual port allocated to -the SDK. If UpnpInit has not succeeded then 0 is -returned. - -

-
Returns:
[unsigned short] The port on which an internal server is -listening for UPnP related requests.

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpGetServiceVarStatusAsync.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpGetServiceVarStatusAsync.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpGetServiceVarStatusAsync.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpGetServiceVarStatusAsync.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,41 +0,0 @@ - - - - - EXPORT_SPEC int UpnpGetServiceVarStatusAsync - - - - -

EXPORT_SPEC int UpnpGetServiceVarStatusAsync

( IN UpnpClient_Handle Hnd,
  IN const char* ActionURL,
  IN const char* VarName,
  IN Upnp_FunPtr Fun,
  IN const void* Cookie )

UpnpGetServiceVarStatusAsync queries the state of a variable of a service, generating a callback when the operation is complete.
- - -
-

Documentation

-
UpnpGetServiceVarStatusAsync queries the state of a variable of a -service, generating a callback when the operation is complete. Note -that the use of this function is deprecated by the UPnP Forum. - -

-
Parameters:
Hnd - The handle of the control point. -
ActionURL - The URL of the service. -
VarName - The name of the variable to query. -
Fun - Pointer to a callback function to -be invoked when the operation is complete. -
Cookie - Pointer to user data to pass to the -callback function when invoked.
Returns:
[int] An integer representing one of the following: -
    -
  • UPNP_E_SUCCESS: The operation completed successfully. -
  • UPNP_E_INVALID_HANDLE: The handle is not a valid control -point handle. -
  • UPNP_E_INVALID_URL: The ActionUrl is not a valid URL. -
  • UPNP_E_INVALID_PARAM: VarName, Fun or -ActionUrl is not a valid pointer. -
  • UPNP_E_OUTOF_MEMORY: Insufficient resources exist to -complete this operation. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpGetServiceVarStatus.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpGetServiceVarStatus.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpGetServiceVarStatus.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpGetServiceVarStatus.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,48 +0,0 @@ - - - - - EXPORT_SPEC int UpnpGetServiceVarStatus - - - - -

EXPORT_SPEC int UpnpGetServiceVarStatus

( IN UpnpClient_Handle Hnd,
  IN const char* ActionURL,
  IN const char* VarName,
  OUT DOMString* StVarVal )

UpnpGetServiceVarStatus queries the state of a state variable of a service on another device.
- - -
-

Documentation

-
UpnpGetServiceVarStatus queries the state of a state -variable of a service on another device. This is a synchronous call. -A positive return value indicates a SOAP error code, whereas a negative -return code indicates an SDK error code. Note that the use of this -function is deprecated by the UPnP Forum. - -

-
Parameters:
Hnd - The handle of the control point. -
ActionURL - The URL of the service. -
VarName - The name of the variable to query. -
StVarVal - The pointer to store the value -for VarName. The SDK -allocates this string and the caller -needs to free it using -ixmlFreeDOMString.
Returns:
[int] An integer representing one of the following: -
    -
  • UPNP_E_SUCCESS: The operation completed successfully. -
  • UPNP_E_INVALID_HANDLE: The handle is not a valid control -point handle. -
  • UPNP_E_INVALID_URL: ActionUrl is not a valid URL. -
  • UPNP_E_INVALID_DESC: The XML document was not -found or it does not contain a valid XML description. -
  • UPNP_E_INVALID_PARAM: StVarVal is not a valid -pointer or VarName or ActionUrl is NULL. -
  • UPNP_E_OUTOF_MEMORY: Insufficient resources exist to -complete this operation. -
  • UPNP_SOAP_E_INVALID_VAR: The given variable is invalid -according to the device. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpHttpGetProgress.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpHttpGetProgress.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpHttpGetProgress.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpHttpGetProgress.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,32 +0,0 @@ - - - - - EXPORT_SPEC int UpnpHttpGetProgress - - - - -

EXPORT_SPEC int UpnpHttpGetProgress

( IN void* handle,
  OUT unsigned int* length,
  OUT unsigned int* total )

UpnpHttpGetProgress rettrieve progress information of a http-get transfer.
- - -
-

Documentation

-
UpnpHttpGetProgress rettrieve progress information of a http-get -transfer. - -

-
Parameters:
handle - The token created by the call to -UpnpOpenHttpGet. -
length - The number of bytes received. -
total - The content length.
Returns:
[int] An integer representing one of the following: -
    -
  • UPNP_E_SUCCESS: The operation completed successfully. -
  • UPNP_E_INVALID_PARAM: Either handle, length -or total is not a valid pointer. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpInit.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpInit.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpInit.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpInit.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,54 +0,0 @@ - - - - - EXPORT_SPEC int UpnpInit - - - - -

EXPORT_SPEC int UpnpInit

( IN const char* HostIP,
  IN unsigned short DestPort )

Initializes the Linux SDK for UPnP Devices.
- - -
-

Documentation

-
Initializes the Linux SDK for UPnP Devices. This function must be called -before any other API function can be called. It should be called -only once. Subsequent calls to this API return a UPNP_E_INIT -error code. - -

Optionally, the application can specify a host IP address (in the -case of a multi-homed configuration) and a port number to use for -all UPnP operations. Since a port number can be used only by one -process, multiple processes using the SDK must specify -different port numbers. - -

If unspecified, the SDK will use the first adapter's IP address -and an arbitrary port. - -

This call is synchronous. - -

-
Parameters:
HostIP - The host IP address to use, in -string format, for example "192.168.0.1", -or NULL to use the first adapter's -IP address. -
DestPort - The destination port number to use. 0 -will pick an arbitrary free port.
Returns:
[int] An integer representing one of the following: -
    -
  • UPNP_E_SUCCESS: The operation completed successfully. -
  • UPNP_E_OUTOF_MEMORY: Insufficient resources exist -to initialize the SDK. -
  • UPNP_E_INIT: The SDK is already initialized. -
  • UPNP_E_INIT_FAILED: The SDK initialization -failed for an unknown reason. -
  • UPNP_E_SOCKET_BIND: An error occurred binding a socket. -
  • UPNP_E_LISTEN: An error occurred listening to a socket. -
  • UPNP_E_OUTOF_SOCKET: An error ocurred creating a socket. -
  • UPNP_E_INTERNAL_ERROR: An internal error ocurred. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpIsWebserverEnabled.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpIsWebserverEnabled.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpIsWebserverEnabled.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpIsWebserverEnabled.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,27 +0,0 @@ - - - - - EXPORT_SPEC int UpnpIsWebserverEnabled - - - - -

EXPORT_SPEC int UpnpIsWebserverEnabled

()

UpnpIsWebServerEnabled returns TRUE if the webserver is enabled, or FALSE if it is not.
- - -
-

Documentation

-
UpnpIsWebServerEnabled returns TRUE if the webserver is -enabled, or FALSE if it is not. - -

-
Returns:
[int] An integer representing one of the following: -
    -
  • TRUE: The webserver is enabled. -
  • FALSE: The webserver is not enabled -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpMakeAction.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpMakeAction.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpMakeAction.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpMakeAction.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,30 +0,0 @@ - - - - - EXPORT_SPEC IXML_Document* UpnpMakeAction - - - - -

EXPORT_SPEC IXML_Document* UpnpMakeAction

( IN const char* ActionName,
  IN const char* ServType,
  IN int NumArg,
  IN const char* Arg,
  IN ... )

UpnpMakeAction creates an action request packet based on its input parameters (status variable name and value pair).
- - -
-

Documentation

-
UpnpMakeAction creates an action request packet based on its input -parameters (status variable name and value pair). Any number of input -parameters can be passed to this function but every input variable name -should have a matching value argument. - -

-
Parameters:
- ActionName The action name. -
ServType - The service type. -
NumArg - Number of argument pairs to be passed. -
Arg - Status variable name and value pair.
Returns:
[IXML_Document*] The action node of Upnp_Document type or -NULL if the operation failed. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpMakeActionResponse.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpMakeActionResponse.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpMakeActionResponse.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpMakeActionResponse.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,30 +0,0 @@ - - - - - EXPORT_SPEC IXML_Document* UpnpMakeActionResponse - - - - -

EXPORT_SPEC IXML_Document* UpnpMakeActionResponse

( IN const char* ActionName,
  IN const char* ServType,
  IN int NumArg,
  IN const char* Arg,
  IN ... )

UpnpMakeActionResponse creates an action response packet based on its output parameters (status variable name and value pair).
- - -
-

Documentation

-
UpnpMakeActionResponse creates an action response packet based -on its output parameters (status variable name and value pair). Any -number of input parameters can be passed to this function but every output -variable name should have a matching value argument. - -

-
Parameters:
- ActionName The action name. -
ServType - The service type. -
NumArg - The number of argument pairs passed. -
Arg - The status variable name and value pair.
Returns:
[IXML_Document*] The action node of Upnp_Document type or -NULL if the operation failed. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpNotifyExt.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpNotifyExt.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpNotifyExt.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpNotifyExt.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,50 +0,0 @@ - - - - - EXPORT_SPEC int UpnpNotifyExt - - - - -

EXPORT_SPEC int UpnpNotifyExt

( IN UpnpDevice_Handle,
  IN const char* DevID,
  IN const char* ServID,
  IN IXML_Document* PropSet )

UpnpNotifyExt is similar to UpnpNotify except that it takes a DOM document for the event rather than an array of strings.
- - -
-

Documentation

-
UpnpNotifyExt is similar to UpnpNotify except that it takes -a DOM document for the event rather than an array of strings. This -function is synchronous and generates no callbacks. - -

UpnpNotifyExt may be called during a callback function to send out -a notification. - -

-
Parameters:
- UpnpDevice_Handle The handle to the device sending the -event. -
DevID - The device ID of the subdevice of the -service generating the event. -
ServID - The unique identifier of the service -generating the event. -
PropSet - The DOM document for the property set. -Property set documents must conform to -the XML schema defined in section 4.3 of -the Universal Plug and Play Device -Architecture specification.
Returns:
[int] An integer representing one of the following: -
    -
  • UPNP_E_SUCCESS: The operation completed successfully. -
  • UPNP_E_INVALID_HANDLE: The handle is not a valid device -handle. -
  • UPNP_E_INVALID_SERVICE: The DevId/ServId -pair refers to an invalid service. -
  • UPNP_E_INVALID_PARAM: Either VarName, NewVal, -DevID, ServID, or PropSet -is not a valid pointer or cVariables is less than zero. -
  • UPNP_E_OUTOF_MEMORY: Insufficient resources exist to -complete this operation. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpNotify.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpNotify.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpNotify.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpNotify.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,50 +0,0 @@ - - - - - EXPORT_SPEC int UpnpNotify - - - - -

EXPORT_SPEC int UpnpNotify

( IN UpnpDevice_Handle,
  IN const char* DevID,
  IN const char* ServID,
  IN const char** VarName,
  IN const char** NewVal,
  IN int cVariables )

UpnpNotify sends out an event change notification to all control points subscribed to a particular service.
- - -
-

Documentation

-
UpnpNotify sends out an event change notification to all -control points subscribed to a particular service. This function is -synchronous and generates no callbacks. - -

UpnpNotify may be called during a callback function to send out -a notification. - -

-
Parameters:
- UpnpDevice_Handle The handle to the device sending the event. -
DevID - The device ID of the subdevice of the service -generating the event. -
ServID - The unique identifier of the service -generating the event. -
VarName - Pointer to an array of variables that -have changed. -
NewVal - Pointer to an array of new values for -those variables. -
cVariables - The count of variables included in this -notification.
Returns:
[int] An integer representing one of the following: -
    -
  • UPNP_E_SUCCESS: The operation completed successfully. -
  • UPNP_E_INVALID_HANDLE: The handle is not a valid device -handle. -
  • UPNP_E_INVALID_SERVICE: The DevId/ServId -pair refers to an invalid service. -
  • UPNP_E_INVALID_PARAM: Either VarName, NewVal, -DevID, or ServID is not a valid pointer or -cVariables is less than zero. -
  • UPNP_E_OUTOF_MEMORY: Insufficient resources exist to -complete this operation. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpOpenHttpGetEx.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpOpenHttpGetEx.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpOpenHttpGetEx.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpOpenHttpGetEx.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,66 +0,0 @@ - - - - - EXPORT_SPEC int UpnpOpenHttpGetEx - - - - -

EXPORT_SPEC int UpnpOpenHttpGetEx

( IN const char* url,
  IN OUT void** handle,
  IN OUT char** contentType,
  IN OUT int* contentLength,
  IN OUT int* httpStatus,
  IN int lowRange,
  IN int highRange,
  IN int timeout )

UpnpOpenHttpGetEx gets specified number of bytes from a file specified in the URL.
- - -
-

Documentation

-
UpnpOpenHttpGetEx gets specified number of bytes from a file -specified in the URL. The number of bytes is specified through a low -count and a high count which are passed as a range of bytes for the -request. The SDK allocates the memory for handle and -contentType, the application is responsible for freeing this memory. - -

-
Parameters:
url - The URL of the item to get. -
handle - A pointer to store the handle for -this connection. -
contentType - A buffer to store the media type of the -item. -
contentLength - A buffer to store the length of the -item. -
httpStatus - The status returned on receiving a -response message from the remote -server. -
lowRange - An integer value representing the low -end of a range to retrieve. -
highRange - An integer value representing the high -end of a range to retrieve. -
timeout - A time out value sent with the request -during which a response is expected -from the server, failing which, an -error is reported back to the user.
Returns:
[int] An integer representing one of the following: -
    -
  • UPNP_E_SUCCESS: The operation completed successfully. -
  • UPNP_E_INVALID_PARAM: Either url, handle, -contentType, contentLength or httpStatus -is not a valid pointer. -
  • UPNP_E_INVALID_URL: The url is not a valid -URL. -
  • UPNP_E_OUTOF_MEMORY: Insufficient resources exist to -download this file. -
  • UPNP_E_NETWORK_ERROR: A network error occurred. -
  • UPNP_E_SOCKET_WRITE: An error or timeout occurred writing -to a socket. -
  • UPNP_E_SOCKET_READ: An error or timeout occurred reading -from a socket. -
  • UPNP_E_SOCKET_BIND: An error occurred binding a socket. -
  • UPNP_E_SOCKET_CONNECT: An error occurred connecting a -socket. -
  • UPNP_E_OUTOF_SOCKET: Too many sockets are currently -allocated. -
  • UPNP_E_BAD_RESPONSE: A bad response was received from the -remote server. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpOpenHttpGet.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpOpenHttpGet.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpOpenHttpGet.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpOpenHttpGet.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,60 +0,0 @@ - - - - - EXPORT_SPEC int UpnpOpenHttpGet - - - - -

EXPORT_SPEC int UpnpOpenHttpGet

( IN const char* url,
  IN OUT void** handle,
  IN OUT char** contentType,
  IN OUT int* contentLength,
  IN OUT int* httpStatus,
  IN int timeout )

UpnpOpenHttpGet gets a file specified in a URL.
- - -
-

Documentation

-
UpnpOpenHttpGet gets a file specified in a URL. -The SDK allocates the memory for handle and -contentType, the application is responsible for freeing this memory. - -

-
Parameters:
url - The URL of an item to get. -
handle - A pointer to store the handle for -this connection. -
contentType - A buffer to store the media type of -the item. -
contentLength - A pointer to store the length of the -item. -
httpStatus - The status returned on receiving a -response message. -
timeout - The time out value sent with the -request during which a response is -expected from the server, failing -which, an error is reported back to -the user.
Returns:
[int] An integer representing one of the following: -
    -
  • UPNP_E_SUCCESS: The operation completed successfully. -
  • UPNP_E_INVALID_PARAM: Either url, handle, -contentType, contentLength or httpStatus -is not a valid pointer. -
  • UPNP_E_INVALID_URL: The url is not a valid -URL. -
  • UPNP_E_OUTOF_MEMORY: Insufficient resources exist to -download this file. -
  • UPNP_E_NETWORK_ERROR: A network error occurred. -
  • UPNP_E_SOCKET_WRITE: An error or timeout occurred writing -to a socket. -
  • UPNP_E_SOCKET_READ: An error or timeout occurred reading -from a socket. -
  • UPNP_E_SOCKET_BIND: An error occurred binding a socket. -
  • UPNP_E_SOCKET_CONNECT: An error occurred connecting a -socket. -
  • UPNP_E_OUTOF_SOCKET: Too many sockets are currently -allocated. -
  • UPNP_E_BAD_RESPONSE: A bad response was received from the -remote server. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpOpenHttpGetProxy.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpOpenHttpGetProxy.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpOpenHttpGetProxy.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpOpenHttpGetProxy.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,62 +0,0 @@ - - - - - EXPORT_SPEC int UpnpOpenHttpGetProxy - - - - -

EXPORT_SPEC int UpnpOpenHttpGetProxy

( IN const char* url,
  IN const char* proxy_str,
  IN OUT void** handle,
  IN OUT char** contentType,
  IN OUT int* contentLength,
  IN OUT int* httpStatus,
  IN int timeout )

UpnpOpenHttpGetProxy gets a file specified in a URL through the specified proxy.
- - -
-

Documentation

-
UpnpOpenHttpGetProxy gets a file specified in a URL through the -specified proxy. -The SDK allocates the memory for handle and -contentType, the application is responsible for freeing this memory. - -

-
Parameters:
url - The URL of an item to get. -
proxy_str - The URL of the proxy. -
handle - A pointer to store the handle for -this connection. -
contentType - A buffer to store the media type of -the item. -
contentLength - A pointer to store the length of the -item. -
httpStatus - The status returned on receiving a -response message. -
timeout - The time out value sent with the -request during which a response is -expected from the server, failing -which, an error is reported back to -the user.
Returns:
[int] An integer representing one of the following: -
    -
  • UPNP_E_SUCCESS: The operation completed successfully. -
  • UPNP_E_INVALID_PARAM: Either url, handle, -contentType, contentLength or httpStatus -is not a valid pointer. -
  • UPNP_E_INVALID_URL: The url is not a valid -URL. -
  • UPNP_E_OUTOF_MEMORY: Insufficient resources exist to -download this file. -
  • UPNP_E_NETWORK_ERROR: A network error occurred. -
  • UPNP_E_SOCKET_WRITE: An error or timeout occurred writing -to a socket. -
  • UPNP_E_SOCKET_READ: An error or timeout occurred reading -from a socket. -
  • UPNP_E_SOCKET_BIND: An error occurred binding a socket. -
  • UPNP_E_SOCKET_CONNECT: An error occurred connecting a -socket. -
  • UPNP_E_OUTOF_SOCKET: Too many sockets are currently -allocated. -
  • UPNP_E_BAD_RESPONSE: A bad response was received from the -remote server. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpOpenHttpPost.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpOpenHttpPost.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpOpenHttpPost.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpOpenHttpPost.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,57 +0,0 @@ - - - - - EXPORT_SPEC int UpnpOpenHttpPost - - - - -

EXPORT_SPEC int UpnpOpenHttpPost

( IN const char* url,
  IN OUT void** handle,
  IN const char* contentType,
  IN int contentLength,
  IN int timeout )

UpnpOpenHttpPost makes an HTTP POST request message, opens a connection to the server and sends the POST request to the server if the connection to the server succeeds.
- - -
-

Documentation

-
UpnpOpenHttpPost makes an HTTP POST request message, opens a -connection to the server and sends the POST request to the server if -the connection to the server succeeds. -The SDK allocates the memory for handle and -contentType, the application is responsible for freeing this memory. - -

-
Parameters:
url - The URL in which to send the POST -request. -
handle - A pointer in which to store the -handle for this connection. This -handle is required for futher -operations over this connection. -
contentType - A buffer to store the media type of -content being sent. -
contentLength - The length of the content, in bytes, -being posted. -
timeout - The time out value sent with the -request during which a response is -expected from the receiver, failing -which, an error is reported.
Returns:
[int] An integer representing one of the following: -
    -
  • UPNP_E_SUCCESS: The operation completed successfully. -
  • UPNP_E_INVALID_PARAM: Either url, handle -or contentType is not a valid pointer. -
  • UPNP_E_INVALID_URL: The url is not a valid -URL. -
  • UPNP_E_OUTOF_MEMORY: Insufficient resources exist to -download this file. -
  • UPNP_E_SOCKET_ERROR: Error occured allocating a socket and -resources or an error occurred binding a socket. -
  • UPNP_E_SOCKET_WRITE: An error or timeout occurred writing -to a socket. -
  • UPNP_E_SOCKET_CONNECT: An error occurred connecting a -socket. -
  • UPNP_E_OUTOF_SOCKET: Too many sockets are currently -allocated. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpReadHttpGet.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpReadHttpGet.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpReadHttpGet.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpReadHttpGet.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,45 +0,0 @@ - - - - - EXPORT_SPEC int UpnpReadHttpGet - - - - -

EXPORT_SPEC int UpnpReadHttpGet

( IN void* handle,
  IN OUT char* buf,
  IN OUT unsigned int* size,
  IN int timeout )

UpnpReadHttpGet gets specified number of bytes from a file specified in a URL.
- - -
-

Documentation

-
UpnpReadHttpGet gets specified number of bytes from a file -specified in a URL. - -

-
Parameters:
handle - The token created by the call to -UpnpOpenHttpGet. -
buf - The buffer to store the read item. -
size - The size of the buffer to be read. -
timeout - The time out value sent with the -request during which a response is -expected from the server, failing -which, an error is reported back to -the user.
Returns:
[int] An integer representing one of the following: -
    -
  • UPNP_E_SUCCESS: The operation completed successfully. -
  • UPNP_E_INVALID_PARAM: Either handle, buf -or size is not a valid pointer. -
  • UPNP_E_BAD_RESPONSE: A bad response was received from the -remote server. -
  • UPNP_E_BAD_HTTPMSG: Either the request or response was in -the incorrect format. -
  • UPNP_E_CANCELED: another thread called UpnpCancelHttpGet. -
-Note: In case of return values, the status code parameter of the passed -in handle value may provide additional information on the return -value. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNPREG_BUF_DESC.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNPREG_BUF_DESC.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNPREG_BUF_DESC.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNPREG_BUF_DESC.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ - - - - - UPNPREG_BUF_DESC - - - - -

UPNPREG_BUF_DESC

The description is a pointer to a character array containing the XML description document.
- - -
-

Documentation

-
The description is a pointer to a character array containing -the XML description document.
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNPREG_FILENAME_DESC.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNPREG_FILENAME_DESC.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNPREG_FILENAME_DESC.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNPREG_FILENAME_DESC.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ - - - - - UPNPREG_FILENAME_DESC - - - - -

UPNPREG_FILENAME_DESC

The description is a file name on the local file system containing the description of the device.
- - -
-

Documentation

-
The description is a file name on the local file system -containing the description of the device.
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpRegisterClient.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpRegisterClient.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpRegisterClient.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpRegisterClient.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,42 +0,0 @@ - - - - - EXPORT_SPEC int UpnpRegisterClient - - - - -

EXPORT_SPEC int UpnpRegisterClient

( IN Upnp_FunPtr Callback,
  IN const void* Cookie,
  OUT UpnpClient_Handle* Hnd )

UpnpRegisterClient registers a control point application with the SDK.
- - -
-

Documentation

-
UpnpRegisterClient registers a control point application with the -SDK. A control point application cannot make any other API calls -until it registers using this function. - -

UpnpRegisterClient is a synchronous call and generates no callbacks. -Callbacks can occur as soon as this function returns. - -

-
Parameters:
Callback - Pointer to a function for receiving -asynchronous events. -
Cookie - Pointer to user data returned with the -callback function when invoked. -
Hnd - Pointer to a variable to store the -new control point handle.
Returns:
[int] An integer representing one of the following: -
    -
  • UPNP_E_SUCCESS: The operation completed successfully. -
  • UPNP_E_FINISH: The SDK is already terminated or -is not initialized. -
  • UPNP_E_INVALID_PARAM: Either Callback or Hnd -is not a valid pointer. -
  • UPNP_E_OUTOF_MEMORY: Insufficient resources exist to -register this control point. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpRegisterRootDevice2.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpRegisterRootDevice2.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpRegisterRootDevice2.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpRegisterRootDevice2.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,106 +0,0 @@ - - - - - EXPORT_SPEC int UpnpRegisterRootDevice2 - - - - -

EXPORT_SPEC int UpnpRegisterRootDevice2

( IN Upnp_DescType descriptionType,
  IN const char* description,
  IN size_t bufferLen,
  IN int config_baseURL,
  IN Upnp_FunPtr Fun,
  IN const void* Cookie,
  OUT UpnpDevice_Handle* Hnd )

UpnpRegisterRootDevice2 is similar to UpnpRegisterRootDevice, except that it also allows the description document to be specified as a file or a memory buffer.
- - -
-

Documentation

-
UpnpRegisterRootDevice2 is similar to UpnpRegisterRootDevice, -except that it also allows the description document to be specified as a -file or a memory buffer. The description can also be configured to have the -correct IP and port address. - -

NOTE: For the configuration to be functional, the internal web server -MUST be present. In addition, the web server MUST be activated -(using UpnpSetWebServerRootDir) before calling this function. -The only condition where the web server can be absent is if the -description document is specified as a URL and no configuration is -required (i.e. config_baseURL = 0.) - -

UpnpRegisterRootDevice2 is synchronous and does not generate -any callbacks. Callbacks can occur as soon as this function returns. - -

Examples of using different types of description documents: -

-    1) Description specified as a URL:
-          descriptionType == UPNPREG_URL_DESC
-          description is the URL
-          bufferLen = 0 (ignored)
-    2) Description specified as a file:
-          descriptionType == UPNPREG_FILENAME_DESC
-          description is a filename
-          bufferLen = 0 (ignored)
-    3) Description specified as a memory buffer:
-          descriptionType == UPNPREG_BUF_DESC
-          description is pointer to a memory buffer
-          bufferLen == length of memory buffer
-    
- -

-
Parameters:
descriptionType - The type of the description -document. -
description - Treated as a URL, file name or -memory buffer depending on -description type. -
bufferLen - The length of memory buffer if -passing a description in a buffer, -otherwise it is ignored. -
config_baseURL - If nonzero, URLBase of -description document is -configured and the description -is served using the internal -web server. -
Fun - Pointer to the callback function -for receiving asynchronous -events. -
Cookie - Pointer to user data returned -with the callback function when -invoked. -
Hnd - Pointer to a variable to store -the new device handle.
Returns:
[int] An integer representing one of the following: -
    -
  • UPNP_E_SUCCESS: The operation completed successfully. -
  • UPNP_E_FINISH: The SDK is already terminated or -is not initialized. -
  • UPNP_E_INVALID_DESC: The description document is not -a valid device description. -
  • UPNP_E_INVALID_PARAM: Either Callback or Hnd -is not a valid pointer or DescURL is NULL. -
  • UPNP_E_NETWORK_ERROR: A network error occurred. -
  • UPNP_E_SOCKET_WRITE: An error or timeout occurred writing -to a socket. -
  • UPNP_E_SOCKET_READ: An error or timeout occurred reading -from a socket. -
  • UPNP_E_SOCKET_BIND: An error occurred binding a socket. -
  • UPNP_E_SOCKET_CONNECT: An error occurred connecting the -socket. -
  • UPNP_E_OUTOF_SOCKET: Too many sockets are currently -allocated. -
  • UPNP_E_OUTOF_MEMORY: There are insufficient resources to -register this root device. -
  • UPNP_E_URL_TOO_BIG: Length of the URL is bigger than the -internal buffer. -
  • UPNP_E_FILE_NOT_FOUND: The description file could not -be found. -
  • UPNP_E_FILE_READ_ERROR: An error occurred reading the -description file. -
  • UPNP_E_INVALID_URL: The URL to the description document -is invalid. -
  • UPNP_E_EXT_NOT_XML: The URL to the description document -or file should have a .xml extension. -
  • UPNP_E_NO_WEB_SERVER: The internal web server has been -compiled out; the SDK cannot configure itself from the -description document. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpRegisterRootDevice.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpRegisterRootDevice.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpRegisterRootDevice.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpRegisterRootDevice.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,62 +0,0 @@ - - - - - EXPORT_SPEC int UpnpRegisterRootDevice - - - - -

EXPORT_SPEC int UpnpRegisterRootDevice

( IN const char* DescUrl,
  IN Upnp_FunPtr Callback,
  IN const void* Cookie,
  OUT UpnpDevice_Handle* Hnd )

UpnpRegisterRootDevice registers a device application with the SDK.
- - -
-

Documentation

-
UpnpRegisterRootDevice registers a device application with -the SDK. A device application cannot make any other API -calls until it registers using this function. Device applications -can also register as control points (see UpnpRegisterClient -to get a control point handle to perform control point -functionality). - -

UpnpRegisterRootDevice is synchronous and does not generate -any callbacks. Callbacks can occur as soon as this function returns. - -

-
Parameters:
DescUrl - Pointer to a string containing the -description URL for this root device -instance. -
Callback - Pointer to the callback function for -receiving asynchronous events. -
Cookie - Pointer to user data returned with the -callback function when invoked. -
Hnd - Pointer to a variable to store the -new device handle.
Returns:
[int] An integer representing one of the following: -
    -
  • UPNP_E_SUCCESS: The operation completed successfully. -
  • UPNP_E_FINISH: The SDK is already terminated or -is not initialized. -
  • UPNP_E_INVALID_DESC: The description document was not -a valid device description. -
  • UPNP_E_INVALID_URL: The URL for the description document -is not valid. -
  • UPNP_E_INVALID_PARAM: Either Callback or Hnd -is not a valid pointer or DescURL is NULL. -
  • UPNP_E_NETWORK_ERROR: A network error occurred. -
  • UPNP_E_SOCKET_WRITE: An error or timeout occurred writing -to a socket. -
  • UPNP_E_SOCKET_READ: An error or timeout occurred reading -from a socket. -
  • UPNP_E_SOCKET_BIND: An error occurred binding a socket. -
  • UPNP_E_SOCKET_CONNECT: An error occurred connecting the -socket. -
  • UPNP_E_OUTOF_SOCKET: Too many sockets are currently -allocated. -
  • UPNP_E_OUTOF_MEMORY: There are insufficient resources to -register this root device. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNPREG_URL_DESC.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNPREG_URL_DESC.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNPREG_URL_DESC.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNPREG_URL_DESC.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,20 +0,0 @@ - - - - - UPNPREG_URL_DESC - - - - -

UPNPREG_URL_DESC

The description is the URL to the description document.
- - -
-

Documentation

-
The description is the URL to the description document.
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpRemoveAllVirtualDirs.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpRemoveAllVirtualDirs.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpRemoveAllVirtualDirs.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpRemoveAllVirtualDirs.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ - - - - - EXPORT_SPEC void UpnpRemoveAllVirtualDirs - - - - -

EXPORT_SPEC void UpnpRemoveAllVirtualDirs

( )

UpnpRemoveAllVirtualDirs removes all virtual directory mappings.
- - -
-

Documentation

-
UpnpRemoveAllVirtualDirs removes all virtual directory mappings. - -

-
Returns:
[void] This function does not return a value. -

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpRemoveVirtualDir.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpRemoveVirtualDir.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpRemoveVirtualDir.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpRemoveVirtualDir.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,29 +0,0 @@ - - - - - EXPORT_SPEC int UpnpRemoveVirtualDir - - - - -

EXPORT_SPEC int UpnpRemoveVirtualDir

( IN const char* dirName )

UpnpRemoveVirtualDir removes a virtual directory mapping made with UpnpAddVirtualDir.
- - -
-

Documentation

-
UpnpRemoveVirtualDir removes a virtual directory mapping made with -UpnpAddVirtualDir. - -

-
Parameters:
dirName - The name of the virtual directory mapping to -remove.
Returns:
[int] An integer representing one of the following: -
    -
  • UPPN_E_SUCCESS: The operation completed successfully. -
  • UPNP_E_INVALID_ARGUMENT: dirName is not valid. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpRenewSubscriptionAsync.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpRenewSubscriptionAsync.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpRenewSubscriptionAsync.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpRenewSubscriptionAsync.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,76 +0,0 @@ - - - - - EXPORT_SPEC int UpnpRenewSubscriptionAsync - - - - -

EXPORT_SPEC int UpnpRenewSubscriptionAsync

( IN UpnpClient_Handle Hnd,
  IN int TimeOut,
  IN Upnp_SID SubsId,
  IN Upnp_FunPtr Fun,
  IN const void* Cookie )

UpnpRenewSubscriptionAsync renews a subscription that is about to expire, generating a callback when the operation is complete.
- - -
-

Documentation

-
UpnpRenewSubscriptionAsync renews a subscription that is about -to expire, generating a callback when the operation is complete. - -

Note that many of the error codes for this function are returned in -the Upnp_Event_Subscribe structure. In those cases, the function -returns UPNP_E_SUCCESS and the appropriate error code will -be in the Upnp_Event_Subscribe.ErrCode field in the Event -structure passed to the callback. - -

-
Parameters:
Hnd - The handle of the control point that -is renewing the subscription. -
- TimeOut The requested subscription time. The -actual timeout value is returned when -the callback function is called. -
SubsId - The ID for the subscription to renew. -
Fun - Pointer to a callback function to be -invoked when the renewal is complete. -
Cookie - Pointer to user data passed -to the callback function when invoked.
Returns:
[int] An integer representing one of the following: -
    -
  • UPNP_E_SUCCESS: The operation completed successfully. -
  • UPNP_E_INVALID_HANDLE: The handle is not a valid control -point handle. -
  • UPNP_E_INVALID_SID: The SubsId is not a valid -subscription ID. -
  • UPNP_E_INVALID_PARAM: Either Fun is not a valid -callback function pointer or Timeout is less than zero -but is not UPNP_INFINITE. -
  • UPNP_E_OUTOF_MEMORY: Insufficient resources exist to -complete this operation. -
  • UPNP_E_NETWORK_ERROR: A network error occured (returned in -the Upnp_Event_Subscribe.ErrCode field as part of the -callback). -
  • UPNP_E_SOCKET_WRITE: An error or timeout occurred writing -to a socket (returned in the Upnp_Event_Subscribe.ErrCode -field as part of the callback). -
  • UPNP_E_SOCKET_READ: An error or timeout occurred reading -from a socket (returned in the -Upnp_Event_Subscribe.ErrCode field as part of the -callback). -
  • UPNP_E_SOCKET_BIND: An error occurred binding the socket -(returned in the Upnp_Event_Subscribe.ErrCode field as -part of the callback). -
  • UPNP_E_SOCKET_CONNECT: An error occurred connecting to -PublisherUrl (returned in the -Upnp_Event_Subscribe.ErrCode field as part of the callback). -
  • UPNP_E_OUTOF_SOCKET: An error occurred creating socket ( -returned in the Upnp_Event_Subscribe.ErrCode field as -part of the callback). -
  • UPNP_E_BAD_RESPONSE: An error occurred in response from -the publisher (returned in the -Upnp_Event_Subscribe.ErrCode field as part of the callback). -
  • UPNP_E_SUBSCRIBE_UNACCEPTED: The publisher refused -the subscription request (returned in the -Upnp_Event_Subscribe.ErrCode field as part of the callback). -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpRenewSubscription.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpRenewSubscription.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpRenewSubscription.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpRenewSubscription.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,52 +0,0 @@ - - - - - EXPORT_SPEC int UpnpRenewSubscription - - - - -

EXPORT_SPEC int UpnpRenewSubscription

( IN UpnpClient_Handle Hnd,
  INOUT int* TimeOut,
  IN Upnp_SID SubsId )

UpnpRenewSubscription renews a subscription that is about to expire.
- - -
-

Documentation

-
UpnpRenewSubscription renews a subscription that is about to -expire. This function is synchronous. - -

-
Parameters:
Hnd - The handle of the control point that -is renewing the subscription. -
- TimeOut Pointer to a variable containing the -requested subscription time. Upon return, -it contains the actual renewal time. -
SubsId - The ID for the subscription to renew.
Returns:
[int] An integer representing one of the following: -
    -
  • UPNP_E_SUCCESS: The operation completed successfully. -
  • UPNP_E_INVALID_HANDLE: The handle is not a valid control -point handle. -
  • UPNP_E_INVALID_PARAM: Timeout is not a valid pointer. -
  • UPNP_E_INVALID_SID: The SID being passed to this function -is not a valid subscription ID. -
  • UPNP_E_NETWORK_ERROR: A network error occured. -
  • UPNP_E_SOCKET_WRITE: An error or timeout occurred writing -to a socket. -
  • UPNP_E_SOCKET_READ: An error or timeout occurred reading -from a socket. -
  • UPNP_E_SOCKET_BIND: An error occurred binding a socket. -
  • UPNP_E_SOCKET_CONNECT: An error occurred connecting to -PublisherUrl. -
  • UPNP_E_OUTOF_SOCKET: An error occurred creating a socket. -
  • UPNP_E_BAD_RESPONSE: An error occurred in response from -the publisher. -
  • UPNP_E_SUBSCRIBE_UNACCEPTED: The publisher refused -the subscription renew. -
  • UPNP_E_OUTOF_MEMORY: Insufficient resources exist to -complete this operation. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpResolveURL.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpResolveURL.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpResolveURL.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpResolveURL.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,37 +0,0 @@ - - - - - EXPORT_SPEC int UpnpResolveURL - - - - -

EXPORT_SPEC int UpnpResolveURL

( IN const char* BaseURL,
  IN const char* RelURL,
  OUT char* AbsURL )

UpnpResolveURL combines a base URL and a relative URL into a single absolute URL.
- - -
-

Documentation

-
UpnpResolveURL combines a base URL and a relative URL into -a single absolute URL. The memory for AbsURL needs to be -allocated by the caller and must be large enough to hold the -BaseURL and RelURL combined. - -

-
Parameters:
BaseURL - The base URL to combine. -
RelURL - The relative URL to BaseURL. -
AbsURL - A pointer to a buffer to store the -absolute URL.
Returns:
[int] An integer representing one of the following: -
    -
  • UPNP_E_SUCCESS: The operation completed successfully. -
  • UPNP_E_INVALID_PARAM: RelURL is NULL. -
  • UPNP_E_INVALID_URL: The BaseURL / RelURL -combination does not form a valid URL. -
  • UPNP_E_OUTOF_MEMORY: Insufficient resources exist to -complete this operation. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_S_ALL.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_S_ALL.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_S_ALL.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_S_ALL.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,20 +0,0 @@ - - - - - UPNP_S_ALL - - - - -

UPNP_S_ALL

Search for all devices and services on the network.
- - -
-

Documentation

-
Search for all devices and services on the network.
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_S_DEVICE.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_S_DEVICE.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_S_DEVICE.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_S_DEVICE.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ - - - - - UPNP_S_DEVICE - - - - -

UPNP_S_DEVICE

Search for a particular device type or a particular device instance.
- - -
-

Documentation

-
Search for a particular device type or a particular device -instance.
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpSearchAsync.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpSearchAsync.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpSearchAsync.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpSearchAsync.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,50 +0,0 @@ - - - - - EXPORT_SPEC int UpnpSearchAsync - - - - -

EXPORT_SPEC int UpnpSearchAsync

( IN UpnpClient_Handle Hnd,
  IN int Mx,
  IN const char* Target,
  IN const void* Cookie )

UpnpSearchAsync searches for devices matching the given search target.
- - -
-

Documentation

-
UpnpSearchAsync searches for devices matching the given -search target. The function returns immediately and the SDK -calls the default callback function, registered during the -UpnpRegisterClient call, for each matching root device, -device, or service. The application specifies the search type by the -Target parameter. - -

Note that there is no way for the SDK to distinguish which client -instance issued a particular search. Therefore, the client can get -search callbacks that do not match the original criteria of the search. -Also, the application will receive multiple callbacks for each search. - -

-
Parameters:
Hnd - The handle of the client performing -the search. -
Mx - The time, in seconds, to wait for -responses. If the time is greater -than MAX_SEARCH_TIME then the time is -set to MAX_SEARCH_TIME. If the time is -less than MIN_SEARCH_TIME then the -time is set to MIN_SEARCH_TIME. -
Target - The search target as defined in the UPnP -Device Architecture v1.0 specification. -
Cookie - The user data to pass when the callback -function is invoked.
Returns:
[int] An integer representing one of the following: -
    -
  • UPNP_E_SUCCESS: The operation completed successfully. -
  • UPNP_E_INVALID_HANDLE: The handle is not a valid control -point handle. -
  • UPNP_E_INVALID_PARAM: Target is NULL. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpSendActionAsync.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpSendActionAsync.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpSendActionAsync.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpSendActionAsync.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,52 +0,0 @@ - - - - - EXPORT_SPEC int UpnpSendActionAsync - - - - -

EXPORT_SPEC int UpnpSendActionAsync

( IN UpnpClient_Handle Hnd,
  IN const char* ActionURL,
  IN const char* ServiceType,
  IN const char* DevUDN,
  IN IXML_Document* Action,
  IN Upnp_FunPtr Fun,
  IN const void* Cookie )

UpnpSendActionAsync sends a message to change a state variable in a service, generating a callback when the operation is complete.
- - -
-

Documentation

-
UpnpSendActionAsync sends a message to change a state variable -in a service, generating a callback when the operation is complete. -See UpnpSendAction for comments on positive return values. These -positive return values are sent in the event struct associated with the -UPNP_CONTROL_ACTION_COMPLETE event. - -

-
Parameters:
Hnd - The handle of the control point -sending the action. -
ActionURL - The action URL of the service. -
- ServiceType The type of the service. -
- DevUDN This parameter is ignored and must be -NULL. -
Action - The DOM document for the action to -perform on this device. -
Fun - Pointer to a callback function to -be invoked when the operation -completes. -
Cookie - Pointer to user data that to be -passed to the callback when invoked.
Returns:
[int] An integer representing one of the following: -
    -
  • UPNP_E_SUCCESS: The operation completed successfully. -
  • UPNP_E_INVALID_HANDLE: The handle is not a valid control -point handle. -
  • UPNP_E_INVALID_URL: ActionUrl is an invalid URL. -
  • UPNP_E_INVALID_DEVICE: DevUDN is an invalid device. -
  • UPNP_E_INVALID_PARAM: Either Fun is not a valid -callback function or ServiceType, Act, or -ActionUrl is NULL. -
  • UPNP_E_INVALID_ACTION: This action is not valid. -
  • UPNP_E_OUTOF_MEMORY: Insufficient resources exist to -complete this operation. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpSendActionExAsync.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpSendActionExAsync.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpSendActionExAsync.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpSendActionExAsync.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,55 +0,0 @@ - - - - - EXPORT_SPEC int UpnpSendActionExAsync - - - - -

EXPORT_SPEC int UpnpSendActionExAsync

( IN UpnpClient_Handle Hnd,
  IN const char* ActionURL,
  IN const char* ServiceType,
  IN const char* DevUDN,
  IN IXML_Document* Header,
  IN IXML_Document* Action,
  IN Upnp_FunPtr Fun,
  IN const void* Cookie )

UpnpSendActionExAsync sends a message to change a state variable in a service, generating a callback when the operation is complete.
- - -
-

Documentation

-
UpnpSendActionExAsync sends a message to change a state variable -in a service, generating a callback when the operation is complete. -See UpnpSendAction for comments on positive return values. These -positive return values are sent in the event struct associated with the -UPNP_CONTROL_ACTION_COMPLETE event. - -

-
Parameters:
Hnd - The handle of the control point -sending the action. -
ActionURL - The action URL of the service. -
- ServiceType The type of the service. -
- DevUDN This parameter is ignored and must be -NULL. -
Header - The DOM document for the SOAP header. -This may be NULL if the header is -not required. -
Action - The DOM document for the action to -perform on this device. -
Fun - Pointer to a callback function to -be invoked when the operation -completes. -
Cookie - Pointer to user data that to be -passed to the callback when invoked.
Returns:
[int] An integer representing one of the following: -
    -
  • UPNP_E_SUCCESS: The operation completed successfully. -
  • UPNP_E_INVALID_HANDLE: The handle is not a valid control -point handle. -
  • UPNP_E_INVALID_URL: ActionUrl is an invalid URL. -
  • UPNP_E_INVALID_DEVICE: DevUDN is an invalid device. -
  • UPNP_E_INVALID_PARAM: Either Fun is not a valid -callback function or ServiceType, Act, or -ActionUrl is NULL. -
  • UPNP_E_INVALID_ACTION: This action is not valid. -
  • UPNP_E_OUTOF_MEMORY: Insufficient resources exist to -complete this operation. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpSendActionEx.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpSendActionEx.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpSendActionEx.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpSendActionEx.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,56 +0,0 @@ - - - - - EXPORT_SPEC int UpnpSendActionEx - - - - -

EXPORT_SPEC int UpnpSendActionEx

( IN UpnpClient_Handle Hnd,
  IN const char* ActionURL,
  IN const char* ServiceType,
  IN const char* DevUDN,
  IN IXML_Document* Header,
  IN IXML_Document* Action,
  OUT IXML_Document** RespNode )

UpnpSendActionEx sends a message to change a state variable in a service.
- - -
-

Documentation

-
UpnpSendActionEx sends a message to change a state variable -in a service. This is a synchronous call that does not return until the -action is complete. - -

Note that a positive return value indicates a SOAP-protocol error code. -In this case, the error description can be retrieved from RespNode. -A negative return value indicates an SDK error. - -

-
Parameters:
Hnd - The handle of the control point -sending the action. -
ActionURL - The action URL of the service. -
- ServiceType The type of the service. -
- DevUDN This parameter is ignored and must be -NULL. -
Header - The DOM document for the SOAP header. -This may be NULL if the header is -not required. -
Action - The DOM document for the action. -
RespNode - The DOM document for the response -to the action. The SDK allocates -this document and the caller needs to free -it.
Returns:
[int] An integer representing one of the following: -
    -
  • UPNP_E_SUCCESS: The operation completed successfully. -
  • UPNP_E_INVALID_HANDLE: The handle is not a valid control -point handle. -
  • UPNP_E_INVALID_URL: ActionUrl is not a valid URL. -
  • UPNP_E_INVALID_ACTION: This action is not valid. -
  • UPNP_E_INVALID_DEVICE: DevUDN is not a -valid device. -
  • UPNP_E_INVALID_PARAM: ServiceType, Action, -ActionUrl, or -RespNode is not a valid pointer. -
  • UPNP_E_OUTOF_MEMORY: Insufficient resources exist to -complete this operation. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpSendAction.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpSendAction.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpSendAction.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpSendAction.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,53 +0,0 @@ - - - - - EXPORT_SPEC int UpnpSendAction - - - - -

EXPORT_SPEC int UpnpSendAction

( IN UpnpClient_Handle Hnd,
  IN const char* ActionURL,
  IN const char* ServiceType,
  IN const char* DevUDN,
  IN IXML_Document* Action,
  OUT IXML_Document** RespNode )

UpnpSendAction sends a message to change a state variable in a service.
- - -
-

Documentation

-
UpnpSendAction sends a message to change a state variable -in a service. This is a synchronous call that does not return until the -action is complete. - -

Note that a positive return value indicates a SOAP-protocol error code. -In this case, the error description can be retrieved from RespNode. -A negative return value indicates an SDK error. - -

-
Parameters:
Hnd - The handle of the control point -sending the action. -
ActionURL - The action URL of the service. -
- ServiceType The type of the service. -
- DevUDN This parameter is ignored and must be -NULL. -
Action - The DOM document for the action. -
RespNode - The DOM document for the response -to the action. The SDK allocates -this document and the caller needs to free -it.
Returns:
[int] An integer representing one of the following: -
    -
  • UPNP_E_SUCCESS: The operation completed successfully. -
  • UPNP_E_INVALID_HANDLE: The handle is not a valid control -point handle. -
  • UPNP_E_INVALID_URL: ActionUrl is not a valid URL. -
  • UPNP_E_INVALID_ACTION: This action is not valid. -
  • UPNP_E_INVALID_DEVICE: DevUDN is not a -valid device. -
  • UPNP_E_INVALID_PARAM: ServiceType, Action, -ActionUrl, or -RespNode is not a valid pointer. -
  • UPNP_E_OUTOF_MEMORY: Insufficient resources exist to -complete this operation. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpSendAdvertisement.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpSendAdvertisement.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpSendAdvertisement.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpSendAdvertisement.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,37 +0,0 @@ - - - - - EXPORT_SPEC int UpnpSendAdvertisement - - - - -

EXPORT_SPEC int UpnpSendAdvertisement

( IN UpnpDevice_Handle Hnd,
  IN int Exp )

UpnpSendAdvertisement sends out the discovery announcements for all devices and services for a device.
- - -
-

Documentation

-
UpnpSendAdvertisement sends out the discovery announcements for -all devices and services for a device. Each announcement is made with -the same expiration time. - -

UpnpSendAdvertisement is a synchronous call. - -

-
Parameters:
Hnd - The device handle for which to send out the -announcements. -
Exp - The expiration age, in seconds, of -the announcements.
Returns:
[int] An integer representing one of the following: -
    -
  • UPNP_E_SUCCESS: The operation completed successfully. -
  • UPNP_E_INVALID_HANDLE: The handle is not a valid -device handle. -
  • UPNP_E_OUTOF_MEMORY: There are insufficient resources to -send future advertisements. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpSetContentLength.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpSetContentLength.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpSetContentLength.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpSetContentLength.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ - - - - - EXPORT_SPEC int UpnpSetContentLength - - - - -

EXPORT_SPEC int UpnpSetContentLength

( IN UpnpClient_Handle Hnd,
  IN int contentLength )

OBSOLETE METHOD : use UpnpSetMaxContentLength instead.
- - -
-

Documentation

-
OBSOLETE METHOD : use UpnpSetMaxContentLength instead. -Warning: the Handle argument provided here is not used, so the effect -of this function is global to the SDK (= same as -UpnpSetMaxContentLength ).
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpSetMaxContentLength.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpSetMaxContentLength.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpSetMaxContentLength.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpSetMaxContentLength.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,32 +0,0 @@ - - - - - EXPORT_SPEC int UpnpSetMaxContentLength - - - - -

EXPORT_SPEC int UpnpSetMaxContentLength

( IN size_t contentLength )

Sets the maximum content-length that the SDK will process on an incoming SOAP requests or responses.
- - -
-

Documentation

-
Sets the maximum content-length that the SDK will process on an incoming -SOAP requests or responses. This API allows devices that have memory -constraints to exhibit consistent behaviour if the size of the -incoming SOAP message exceeds the memory that device can allocate. -The default maximum content-length is DEFAULT_SOAP_CONTENT_LENGTH -= 16K bytes. - -

-
Parameters:
contentLength - The maximum permissible content length -for incoming SOAP actions, in bytes.
Returns:
[int] An integer representing one of the following: -
    -
  • UPNP_E_SUCCESS: The operation completed successfully. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpSetMaxSubscriptions.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpSetMaxSubscriptions.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpSetMaxSubscriptions.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpSetMaxSubscriptions.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,37 +0,0 @@ - - - - - EXPORT_SPEC int UpnpSetMaxSubscriptions - - - - -

EXPORT_SPEC int UpnpSetMaxSubscriptions

( IN UpnpDevice_Handle Hnd,
  IN int MaxSubscriptions )

UpnpSetMaxSubscriptions sets the maximum number of subscriptions accepted per service.
- - -
-

Documentation

-
UpnpSetMaxSubscriptions sets the maximum number of subscriptions -accepted per service. The default value accepts as many as system -resources allow. If the number of current subscriptions for a service is -greater than the requested value, the SDK accepts no new -subscriptions or renewals, however, the SDK does not remove -any current subscriptions. - -

-
Parameters:
Hnd - The handle of the device for which -the maximum number of subscriptions is -being set. -
MaxSubscriptions - The maximum number of subscriptions to be -allowed per service.
Returns:
[int] An integer representing one of the following: -
    -
  • UPNP_E_SUCCESS: The operation completed successfully. -
  • UPNP_E_INVALID_HANDLE: The handle is not a valid device -handle. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpSetMaxSubscriptionTimeOut.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpSetMaxSubscriptionTimeOut.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpSetMaxSubscriptionTimeOut.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpSetMaxSubscriptionTimeOut.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,37 +0,0 @@ - - - - - EXPORT_SPEC int UpnpSetMaxSubscriptionTimeOut - - - - -

EXPORT_SPEC int UpnpSetMaxSubscriptionTimeOut

( IN UpnpDevice_Handle Hnd,
  IN int MaxSubscriptionTimeOut )

UpnpSetMaxSubscriptionTimeOut sets the maximum time-out accepted for a subscription request or renewal.
- - -
-

Documentation

-
UpnpSetMaxSubscriptionTimeOut sets the maximum time-out accepted -for a subscription request or renewal. The default value accepts the -time-out set by the control point. If a control point requests a -subscription time-out less than or equal to the maximum, the SDK -grants the value requested by the control point. If the time-out -is greater, the SDK returns the maximum value. - -

-
Parameters:
Hnd - The handle of the device for which -the maximum subscription time-out is -being set. -
MaxSubscriptionTimeOut - The maximum subscription time-out to -be accepted.
Returns:
[int] An integer representing one of the following: -
    -
  • UPNP_E_SUCCESS: The operation completed successfully. -
  • UPNP_E_INVALID_HANDLE: The handle is not a valid device -handle. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpSetVirtualDirCallbacks.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpSetVirtualDirCallbacks.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpSetVirtualDirCallbacks.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpSetVirtualDirCallbacks.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,33 +0,0 @@ - - - - - EXPORT_SPEC int UpnpSetVirtualDirCallbacks - - - - -

EXPORT_SPEC int UpnpSetVirtualDirCallbacks

( IN struct UpnpVirtualDirCallbacks* callbacks )

UpnpSetVirtualDirCallbacks sets the callback function to be used to access a virtual directory.
- - -
-

Documentation

-
UpnpSetVirtualDirCallbacks sets the callback function to be used to -access a virtual directory. Refer to the description of -UpnpVirtualDirCallbacks for a description of the functions. - -

-
Parameters:
callbacks - Pointer to a structure -containing points to the -virtual interface -functions.
Returns:
[int] An integer representing one of the following: -
    -
  • UPPN_E_SUCCESS: The operation completed successfully. -
  • UPNP_E_INVALID_ARGUMENT: callbacks is not a valid -pointer. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpSetWebServerRootDir.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpSetWebServerRootDir.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpSetWebServerRootDir.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpSetWebServerRootDir.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,38 +0,0 @@ - - - - - EXPORT_SPEC int UpnpSetWebServerRootDir - - - - -

EXPORT_SPEC int UpnpSetWebServerRootDir

( IN const char* rootDir )

UpnpSetWebServerRootDir sets the document root directory for the internal web server.
- - -
-

Documentation

-
UpnpSetWebServerRootDir sets the document root directory for -the internal web server. This directory is considered the -root directory (i.e. "/") of the web server. - -

This function also activates or deactivates the web server. -To disable the web server, pass NULL for rootDir; to -activate, pass a valid directory string. - -

Note that this function is not available when the web server is not -compiled into the SDK. - -

-
Parameters:
rootDir - Path of the root directory of the web -server.
Returns:
[int] An integer representing one of the following: -
    -
  • UPPN_E_SUCCESS: The operation completed successfully. -
  • UPNP_E_INVALID_ARGUMENT: rootDir is an invalid -directory. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/Upnp_SID44.html pupnp-1.8-1.8.4/docs/dist/html/upnp/Upnp_SID44.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/Upnp_SID44.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/Upnp_SID44.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,22 +0,0 @@ - - - - - typedef char Upnp_SID[44] - - - - -

typedef char Upnp_SID[44]

The Upnp_SID holds the subscription identifier for a subscription between a client and a device.
- - -
-

Documentation

-
The Upnp_SID holds the subscription identifier for a subscription -between a client and a device. The SID is a string representation of -a globally unique id (GUID) and should not be modified.
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_S_ROOT.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_S_ROOT.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_S_ROOT.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_S_ROOT.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,20 +0,0 @@ - - - - - UPNP_S_ROOT - - - - -

UPNP_S_ROOT

Search for all root devices on the network.
- - -
-

Documentation

-
Search for all root devices on the network.
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_S_SERVICE.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_S_SERVICE.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UPNP_S_SERVICE.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UPNP_S_SERVICE.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ - - - - - UPNP_S_SERVICE - - - - -

UPNP_S_SERVICE

Search for a particular service type, possibly on a particular device type or device instance.
- - -
-

Documentation

-
Search for a particular service type, possibly on a particular -device type or device instance.
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/Upnp_State_Var_Complete.html pupnp-1.8-1.8.4/docs/dist/html/upnp/Upnp_State_Var_Complete.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/Upnp_State_Var_Complete.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/Upnp_State_Var_Complete.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,60 +0,0 @@ - - - - - struct Upnp_State_Var_Complete - - - - -

struct Upnp_State_Var_Complete

Represents the reply for the current value of a state variable in an asynchronous call.
- -
-

-
-[more]char CtrlUrl[NAME_SIZE] -
The control URL for the service. -
-[more]DOMString CurrentVal -
The current value of the variable or error string in case of error. -
-[more]int ErrCode -
The result of the operation. -
-[more]char StateVarName[NAME_SIZE] -
The name of the variable. -

- - - -
-

Documentation

-
Represents the reply for the current value of a state variable in an -asynchronous call.
-
- - - -
oint ErrCode -
The result of the operation. -

- - -

ochar CtrlUrl[NAME_SIZE] -
The control URL for the service. -

- - -

ochar StateVarName[NAME_SIZE] -
The name of the variable. -

- - -

oDOMString CurrentVal -
The current value of the variable or error string in case of error. -

-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/Upnp_State_Var_Request.html pupnp-1.8-1.8.4/docs/dist/html/upnp/Upnp_State_Var_Request.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/Upnp_State_Var_Request.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/Upnp_State_Var_Request.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,93 +0,0 @@ - - - - - struct Upnp_State_Var_Request - - - - -

struct Upnp_State_Var_Request

Represents the request for current value of a state variable in a service state table.
- -
-

-
-[more]struct in_addr CtrlPtIPAddr -
IP address of sender requesting the state variable. -
-[more]DOMString CurrentVal -
The current value of the variable. -
-[more]char DevUDN[NAME_SIZE] -
The unique device ID. -
-[more]int ErrCode -
The result of the operation. -
-[more]char ErrStr[LINE_SIZE] -
The error string in case of error. -
-[more]char ServiceID[NAME_SIZE] -
The service ID. -
-[more]int Socket -
The socket number of the connection to the requestor. -
-[more]char StateVarName[NAME_SIZE] -
The name of the variable. -

- - - -
-

Documentation

-
Represents the request for current value of a state variable in a service -state table.
-
- - - -
oint ErrCode -
The result of the operation. -

- - -

oint Socket -
The socket number of the connection to the requestor. -

- - -

ochar ErrStr[LINE_SIZE] -
The error string in case of error. -

- - -

ochar DevUDN[NAME_SIZE] -
The unique device ID. -

- - -

ochar ServiceID[NAME_SIZE] -
The service ID. -

- - -

ochar StateVarName[NAME_SIZE] -
The name of the variable. -

- - -

ostruct in_addr CtrlPtIPAddr -
IP address of sender requesting the state variable. -

- - -

oDOMString CurrentVal -
The current value of the variable. This needs to be allocated by -the caller. When finished with it, the SDK frees this DOMString. -

-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/Upnp_SType.html pupnp-1.8-1.8.4/docs/dist/html/upnp/Upnp_SType.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/Upnp_SType.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/Upnp_SType.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,40 +0,0 @@ - - - - - enum Upnp_SType - - - - -

enum Upnp_SType

Represents the different types of searches that can be performed using the SDK for UPnP Devices API.
- -
By specifying these different values to -UpnpSearchAsync, the control point application -can control the scope of the search from all devices -to specific devices or services.
- -
-
-
- -o -UPNP_S_ALL
Search for all devices and services on the network. -
- -o -UPNP_S_ROOT
Search for all root devices on the network. -
- -o -UPNP_S_DEVICE
Search for a particular device type or a particular device instance. -
- -o -UPNP_S_SERVICE
Search for a particular service type, possibly on a particular device type or device instance. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpSubscribeAsync.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpSubscribeAsync.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpSubscribeAsync.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpSubscribeAsync.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,79 +0,0 @@ - - - - - EXPORT_SPEC int UpnpSubscribeAsync - - - - -

EXPORT_SPEC int UpnpSubscribeAsync

( IN UpnpClient_Handle Hnd,
  IN const char* PublisherUrl,
  IN int TimeOut,
  IN Upnp_FunPtr Fun,
  IN const void* Cookie )

UpnpSubscribeAsync performs the same operation as UpnpSubscribe, but returns immediately and calls the registered callback function when the operation is complete.
- - -
-

Documentation

-
UpnpSubscribeAsync performs the same operation as -UpnpSubscribe, but returns immediately and calls the registered -callback function when the operation is complete. - -

Note that many of the error codes for this function are returned in -the Upnp_Event_Subscribe structure. In those cases, the function -returns UPNP_E_SUCCESS and the appropriate error code will -be in the Upnp_Event_Subscribe.ErrCode field in the Event -structure passed to the callback. - -

-
Parameters:
Hnd - The handle of the control point that -is subscribing. -
- PublisherUrl The URL of the service to subscribe -to. -
- TimeOut The requested subscription time. Upon -return, it contains the actual -subscription time returned from the -service. -
Fun - Pointer to the callback function for -this subscribe request. -
Cookie - A user data value passed to the -callback function when invoked.
Returns:
[int] An integer representing one of the following: -
    -
  • UPNP_E_SUCCESS: The operation completed successfully. -
  • UPNP_E_INVALID_HANDLE: The handle is not a valid control -point handle. -
  • UPNP_E_INVALID_URL: The PublisherUrl is not a valid -URL. -
  • UPNP_E_INVALID_PARAM: Either TimeOut or Fun or -PublisherUrl is not a valid pointer. -
  • UPNP_E_OUTOF_MEMORY: Insufficient resources exist to -complete this operation. -
  • UPNP_E_NETWORK_ERROR: A network error occured (returned in -the Upnp_Event_Subscribe.ErrCode field as part of the -callback). -
  • UPNP_E_SOCKET_WRITE: An error or timeout occurred writing -to a socket (returned in the -Upnp_Event_Subscribe.ErrCode field as part of the -callback). -
  • UPNP_E_SOCKET_READ: An error or timeout occurred reading -from a socket (returned in the -Upnp_Event_Subscribe.ErrCode field as part of the -callback). -
  • UPNP_E_SOCKET_BIND: An error occurred binding the socket -(returned in the Upnp_Event_Subscribe.ErrCode field as -part of the callback). -
  • UPNP_E_SOCKET_CONNECT: An error occurred connecting to -PublisherUrl (returned in the -Upnp_Event_Subscribe.ErrCode field as part of the callback). -
  • UPNP_E_OUTOF_SOCKET: An error occurred creating the -socket (returned in the Upnp_Event_Subscribe.ErrCode -field as part of the callback). -
  • UPNP_E_BAD_RESPONSE: An error occurred in response from -the publisher (returned in the -Upnp_Event_Subscribe.ErrCode field as part of the callback). -
  • UPNP_E_SUBSCRIBE_UNACCEPTED: The publisher refused -the subscription request (returned in the -Upnp_Event_Subscribe.ErrCode field as part of the callback). -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpSubscribe.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpSubscribe.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpSubscribe.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpSubscribe.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,55 +0,0 @@ - - - - - EXPORT_SPEC int UpnpSubscribe - - - - -

EXPORT_SPEC int UpnpSubscribe

( IN UpnpClient_Handle Hnd,
  IN const char* PublisherUrl,
  INOUT int* TimeOut,
  OUT Upnp_SID SubsId )

UpnpSubscribe registers a control point to receive event notifications from another device.
- - -
-

Documentation

-
UpnpSubscribe registers a control point to receive event -notifications from another device. This operation is synchronous. - -

-
Parameters:
Hnd - The handle of the control point. -
- PublisherUrl The URL of the service to subscribe to. -
- TimeOut Pointer to a variable containing -the requested subscription time. Upon -return, it contains the actual -subscription time returned from the -service. -
SubsId - Pointer to a variable to receive the -subscription ID (SID).
Returns:
[int] An integer representing one of the following: -
    -
  • UPNP_E_SUCCESS: The operation completed successfully. -
  • UPNP_E_INVALID_HANDLE: The handle is not a valid control -point handle. -
  • UPNP_E_INVALID_URL: PublisherUrl is not a valid URL. -
  • UPNP_E_INVALID_PARAM: Timeout is not a valid pointer -or SubsId or PublisherUrl is NULL. -
  • UPNP_E_NETWORK_ERROR: A network error occured. -
  • UPNP_E_SOCKET_WRITE: An error or timeout occurred writing -to a socket. -
  • UPNP_E_SOCKET_READ: An error or timeout occurred reading -from a socket. -
  • UPNP_E_SOCKET_BIND: An error occurred binding a socket. -
  • UPNP_E_SOCKET_CONNECT: An error occurred connecting to -PublisherUrl. -
  • UPNP_E_OUTOF_SOCKET: An error occurred creating a socket. -
  • UPNP_E_BAD_RESPONSE: An error occurred in response from -the publisher. -
  • UPNP_E_SUBSCRIBE_UNACCEPTED: The publisher refused -the subscription request. -
  • UPNP_E_OUTOF_MEMORY: Insufficient resources exist to -complete this operation. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/Upnp_Subscription_Request.html pupnp-1.8-1.8.4/docs/dist/html/upnp/Upnp_Subscription_Request.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/Upnp_Subscription_Request.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/Upnp_Subscription_Request.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,52 +0,0 @@ - - - - - struct Upnp_Subscription_Request - - - - -

struct Upnp_Subscription_Request

Returned along with a UPNP_EVENT_SUBSCRIPTION_REQUEST callback.
- -
-

-
-[more]char* ServiceId -
The identifier for the service being subscribed to. -
-[more]Upnp_SID Sid -
The assigned subscription ID for this subscription. -
-[more]char* UDN -
Universal device name. -

- - - -
-

Documentation

-
Returned along with a UPNP_EVENT_SUBSCRIPTION_REQUEST -callback.
-
- - - -
ochar* ServiceId -
The identifier for the service being subscribed to. -

- - -

ochar* UDN -
Universal device name. -

- - -

oUpnp_SID Sid -
The assigned subscription ID for this subscription. -

-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpUnRegisterClient.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpUnRegisterClient.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpUnRegisterClient.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpUnRegisterClient.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,35 +0,0 @@ - - - - - EXPORT_SPEC int UpnpUnRegisterClient - - - - -

EXPORT_SPEC int UpnpUnRegisterClient

( IN UpnpClient_Handle Hnd )

UpnpUnRegisterClient unregisters a control point application, unsubscribing all active subscriptions.
- - -
-

Documentation

-
UpnpUnRegisterClient unregisters a control point application, -unsubscribing all active subscriptions. After this call, the -UpnpClient_Handle is no longer valid. - -

UpnpUnRegisterClient is a synchronous call and generates no -callbacks. The SDK generates no more callbacks after this -function returns. - -

-
Parameters:
Hnd - The handle of the control point instance -to unregister.
Returns:
[int] An integer representing one of the following: -
    -
  • UPNP_E_SUCCESS: The operation completed successfully. -
  • UPNP_E_INVALID_HANDLE: The handle is not a valid control -point handle. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpUnRegisterRootDevice.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpUnRegisterRootDevice.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpUnRegisterRootDevice.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpUnRegisterRootDevice.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,37 +0,0 @@ - - - - - EXPORT_SPEC int UpnpUnRegisterRootDevice - - - - -

EXPORT_SPEC int UpnpUnRegisterRootDevice

( IN UpnpDevice_Handle )

Unregisters a root device registered with UpnpRegisterRootDevice or UpnpRegisterRootDevice2.
- - -
-

Documentation

-
Unregisters a root device registered with UpnpRegisterRootDevice or -UpnpRegisterRootDevice2. After this call, the -UpnpDevice_Handle is no longer valid. For all advertisements that -have not yet expired, the SDK sends a device unavailable message -automatically. - -

UpnpUnRegisterRootDevice is a synchronous call and generates no -callbacks. Once this call returns, the SDK will no longer -generate callbacks to the application. - -

-
Parameters:
- UpnpDevice_Handle The handle of the root device instance to -unregister.
Returns:
[int] An integer representing one of the following: -
    -
  • UPNP_E_SUCCESS: The operation completed successfully. -
  • UPNP_E_INVALID_HANDLE: The handle is not a valid -device handle. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpUnSubscribeAsync.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpUnSubscribeAsync.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpUnSubscribeAsync.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpUnSubscribeAsync.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,74 +0,0 @@ - - - - - EXPORT_SPEC int UpnpUnSubscribeAsync - - - - -

EXPORT_SPEC int UpnpUnSubscribeAsync

( IN UpnpClient_Handle Hnd,
  IN Upnp_SID SubsId,
  IN Upnp_FunPtr Fun,
  IN const void* Cookie )

UpnpUnSubscribeAsync removes a subscription of a control point from a service previously subscribed to using UpnpSubscribe or UpnpSubscribeAsync, generating a callback when the operation is complete.
- - -
-

Documentation

-
UpnpUnSubscribeAsync removes a subscription of a control -point from a service previously subscribed to using -UpnpSubscribe or UpnpSubscribeAsync, generating a callback -when the operation is complete. - -

Note that many of the error codes for this function are returned in -the Upnp_Event_Subscribe structure. In those cases, the function -returns UPNP_E_SUCCESS and the appropriate error code will -be in the Upnp_Event_Subscribe.ErrCode field in the Event -structure passed to the callback. - -

-
Parameters:
Hnd - The handle of the subscribed control -point. -
SubsId - The ID returned when the -control point subscribed to the service. -
Fun - Pointer to a callback function to be -called when the operation is complete. -
Cookie - Pointer to user data to pass to the -callback function when invoked.
Returns:
[int] An integer representing one of the following: -
    -
  • UPNP_E_SUCCESS: The operation completed successfully. -
  • UPNP_E_INVALID_HANDLE: The handle is not a valid control -point handle. -
  • UPNP_E_INVALID_SID: The SubsId is not a valid SID. -
  • UPNP_E_INVALID_PARAM: Fun is not a valid callback -function pointer. -
  • UPNP_E_OUTOF_MEMORY: Insufficient resources exist to -complete this operation. -
  • UPNP_E_NETWORK_ERROR: A network error occured (returned in -the Upnp_Event_Subscribe.ErrCode field as part of the -callback). -
  • UPNP_E_SOCKET_WRITE: An error or timeout occurred writing -to a socket (returned in the -Upnp_Event_Subscribe.ErrCode field as part of the callback). -
  • UPNP_E_SOCKET_READ: An error or timeout occurred reading -from a socket (returned in the -Upnp_Event_Subscribe.ErrCode field as part of the -callback). -
  • UPNP_E_SOCKET_BIND: An error occurred binding the socket -(returned in the Upnp_Event_Subscribe.ErrCode field as -part of the callback). -
  • UPNP_E_SOCKET_CONNECT: An error occurred connecting to -PublisherUrl (returned in the -Upnp_Event_Subscribe.ErrCode field as part of the callback). -
  • UPNP_E_OUTOF_SOCKET: An error occurred creating a socket ( -returned in the Upnp_Event_Subscribe.ErrCode field as -part of the callback). -
  • UPNP_E_BAD_RESPONSE: An error occurred in response from -the publisher (returned in the -Upnp_Event_Subscribe.ErrCode field as part of the callback). -
  • UPNP_E_UNSUBSCRIBE_UNACCEPTED: The publisher refused -the subscription request (returned in the -Upnp_Event_Subscribe.ErrCode field as part of the callback). -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpUnSubscribe.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpUnSubscribe.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpUnSubscribe.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpUnSubscribe.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,51 +0,0 @@ - - - - - EXPORT_SPEC int UpnpUnSubscribe - - - - -

EXPORT_SPEC int UpnpUnSubscribe

( IN UpnpClient_Handle Hnd,
  IN Upnp_SID SubsId )

UpnpUnSubscribe removes the subscription of a control point from a service previously subscribed to using UpnpSubscribe or UpnpSubscribeAsync.
- - -
-

Documentation

-
UpnpUnSubscribe removes the subscription of a control point from a -service previously subscribed to using UpnpSubscribe or -UpnpSubscribeAsync. This is a synchronous call. - -

-
Parameters:
Hnd - The handle of the subscribed control -point. -
SubsId - The ID returned when the control point -subscribed to the service.
Returns:
[int] An integer representing one of the following: -
    -
  • UPNP_E_SUCCESS: The operation completed successfully. -
  • UPNP_E_INVALID_HANDLE: The handle is not a valid control -point handle. -
  • UPNP_E_INVALID_SID: The SubsId is not a valid -subscription ID. -
  • UPNP_E_NETWORK_ERROR: A network error occured. -
  • UPNP_E_SOCKET_WRITE: An error or timeout occurred writing -to a socket. -
  • UPNP_E_SOCKET_READ: An error or timeout occurred reading -from a socket. -
  • UPNP_E_SOCKET_BIND: An error occurred binding a socket. -
  • UPNP_E_SOCKET_CONNECT: An error occurred connecting to -PublisherUrl. -
  • UPNP_E_OUTOF_SOCKET: An error ocurred creating a socket. -
  • UPNP_E_BAD_RESPONSE: An error occurred in response from -the publisher. -
  • UPNP_E_UNSUBSCRIBE_UNACCEPTED: The publisher refused -the unsubscribe request (the client is still unsubscribed and -no longer receives events). -
  • UPNP_E_OUTOF_MEMORY: Insufficient resources exist to -complete this operation. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpVirtualDirCallbacks.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpVirtualDirCallbacks.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpVirtualDirCallbacks.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpVirtualDirCallbacks.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,133 +0,0 @@ - - - - - struct UpnpVirtualDirCallbacks - - - - -

struct UpnpVirtualDirCallbacks

The UpnpVirtualDirCallbacks structure contains the pointers to file-related callback functions a device application can register to virtualize URLs.
- -
-

-
-[more]int (*close)( IN UpnpWebFileHandle fileHnd ) -
Called by the web server to close a file opened via the open callback. -
-[more]int (*get_info)( IN const char* filename, OUT struct File_Info* info ) -
Called by the web server to query information on a file. -
-[more]UpnpWebFileHandle (*open)( IN const char* filename, IN enum UpnpOpenFileMode Mode ) -
Called by the web server to open a file. -
-[more]int (*read)( IN UpnpWebFileHandle fileHnd, OUT char* buf, IN size_t buflen ) -
Called by the web server to perform a sequential read from an open file. -
-[more]int (*seek)( IN UpnpWebFileHandle fileHnd, IN long offset, IN int origin ) -
Called by the web server to move the file pointer, or offset, into an open file. -
-[more]int (*write)( IN UpnpWebFileHandle fileHnd, IN char* buf, IN size_t buflen ) -
Called by the web server to perform a sequential write to an open file. -

- - - -
-

Documentation

-
The UpnpVirtualDirCallbacks structure contains the pointers to -file-related callback functions a device application can register to -virtualize URLs.
-
- - - -
oint (*get_info)( IN const char* filename, OUT struct File_Info* info ) -
Called by the web server to query information on a file. The callback -should return 0 on success or -1 on an error. - -
Parameters:
filename - The name of the file to query. -
info - Pointer to a structure to store the -information on the file.

- - -

oUpnpWebFileHandle (*open)( IN const char* filename, IN enum UpnpOpenFileMode Mode ) -
Called by the web server to open a file. The callback should return -a valid handle if the file can be opened. Otherwise, it should return -NULL to signify an error. - -
Parameters:
filename - The name of the file to open. -
Mode - The mode in which to open the file. -Valid values are UPNP_READ or -UPNP_WRITE.

- - -

oint (*read)( IN UpnpWebFileHandle fileHnd, OUT char* buf, IN size_t buflen ) -
Called by the web server to perform a sequential read from an open -file. The callback should copy buflen bytes from the file into -the buffer. - -
Parameters:
fileHnd - The handle of the file to read. -
buf - The buffer in which to place the -data. -
buflen - The size of the buffer (i.e. the -number of bytes to read).
Returns:
[int] An integer representing one of the following: -
    -
  • 0: The file contains no more data (EOF). -
  • >0: A successful read of the number of bytes in the -return code. -
  • <0: An error occurred reading the file. -\end{itemzie} -

- - -

oint (*write)( IN UpnpWebFileHandle fileHnd, IN char* buf, IN size_t buflen ) -
Called by the web server to perform a sequential write to an open -file. The callback should write buflen bytes into the file from -the buffer. It should return the actual number of bytes written, -which might be less than buflen in the case of a write error. - -
Parameters:
fileHnd - The handle of the file to write. -
buf - The buffer with the bytes to write. -
buflen - The number of bytes to write.

- - -

oint (*seek)( IN UpnpWebFileHandle fileHnd, IN long offset, IN int origin ) -
Called by the web server to move the file pointer, or offset, into -an open file. The origin parameter determines where to start -moving the file pointer. A value of SEEK_CUR moves the -file pointer relative to where it is. The offset parameter can -be either positive (move forward) or negative (move backward). -SEEK_END moves relative to the end of the file. A positive -offset extends the file. A negative offset moves backward -in the file. Finally, SEEK_SET moves to an absolute position in -the file. In this case, offset must be positive. The callback -should return 0 on a successful seek or a non-zero value on an error. - -
Parameters:
fileHnd - The handle of the file to move the -file pointer. -
offset - The number of bytes to move in the -file. Positive values move foward and -negative values move backward. Note -that this must be positive if the -origin is SEEK_SET. -
origin - The position to move relative to. It -can be SEEK_CUR to move relative -to the current position, -SEEK_END to move relative to -the end of the file, or -SEEK_SET to specify an absolute -offset.

- - -

oint (*close)( IN UpnpWebFileHandle fileHnd ) -
Called by the web server to close a file opened via the open -callback. It should return 0 on success, or a non-zero value on an -error. - -
Parameters:
fileHnd - The handle of the file to close.

-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpWriteHttpPost.html pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpWriteHttpPost.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/UpnpWriteHttpPost.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/UpnpWriteHttpPost.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,40 +0,0 @@ - - - - - EXPORT_SPEC int UpnpWriteHttpPost - - - - -

EXPORT_SPEC int UpnpWriteHttpPost

( IN void* handle,
  IN char* buf,
  IN unsigned int* size,
  IN int timeout )

UpnpWriteHttpPost sends a request to a server to copy the contents of a buffer to the URI specified in the UpnpOpenHttpPost call.
- - -
-

Documentation

-
UpnpWriteHttpPost sends a request to a server to copy the contents of -a buffer to the URI specified in the UpnpOpenHttpPost call. - -

-
Parameters:
handle - The handle of the connection created -by the call to UpnpOpenHttpPost. -
buf - The buffer to be posted. -
size - The size, in bytes of buf. -
timeout - A timeout value sent with the request -during which a response is expected -from the server, failing which, an -error is reported.
Returns:
[int] An integer representing one of the following: -
    -
  • UPNP_E_SUCCESS: The operation completed successfully. -
  • UPNP_E_INVALID_PARAM: Either handle, buf -or size is not a valid pointer. -
  • UPNP_E_SOCKET_WRITE: An error or timeout occurred writing -to a socket. -
  • UPNP_E_OUTOF_SOCKET: Too many sockets are currently -allocated. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - diff -Nru pupnp-1.8-1.8.3/docs/dist/html/upnp/WebServerAPI.html pupnp-1.8-1.8.4/docs/dist/html/upnp/WebServerAPI.html --- pupnp-1.8-1.8.3/docs/dist/html/upnp/WebServerAPI.html 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/html/upnp/WebServerAPI.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,47 +0,0 @@ - - - - - Web Server API - - - - -

Web Server API

- -
-
-
- -o -UpnpSetWebServerRootDir
UpnpSetWebServerRootDir sets the document root directory for the internal web server. -
- -o -UpnpSetVirtualDirCallbacks
UpnpSetVirtualDirCallbacks sets the callback function to be used to access a virtual directory. -
- -o -UpnpEnableWebserver
UpnpEnableWebServer enables or disables the webserver. -
- -o -UpnpIsWebserverEnabled
UpnpIsWebServerEnabled returns TRUE if the webserver is enabled, or FALSE if it is not. -
- -o -UpnpAddVirtualDir
UpnpAddVirtualDir adds a virtual directory mapping. -
- -o -UpnpRemoveVirtualDir
UpnpRemoveVirtualDir removes a virtual directory mapping made with UpnpAddVirtualDir. -
- -o -UpnpRemoveAllVirtualDirs
UpnpRemoveAllVirtualDirs removes all virtual directory mappings. -
-

Alphabetic index


-
-This page was generated with the help of DOC++. - - Binary files /tmp/tmp23Uadf/wb2IpeRfmY/pupnp-1.8-1.8.3/docs/dist/IXML_Programming_Guide.pdf and /tmp/tmp23Uadf/OM9SRuN53O/pupnp-1.8-1.8.4/docs/dist/IXML_Programming_Guide.pdf differ diff -Nru pupnp-1.8-1.8.3/docs/dist/Makefile.am pupnp-1.8-1.8.4/docs/dist/Makefile.am --- pupnp-1.8-1.8.3/docs/dist/Makefile.am 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/docs/dist/Makefile.am 1970-01-01 00:00:00.000000000 +0000 @@ -1,513 +0,0 @@ - - -EXTRA_DIST = \ - ./UPnP_Programming_Guide.pdf \ - ./IXML_Programming_Guide.pdf \ - ./html/upnp/icon1.gif \ - ./html/upnp/icon2.gif \ - ./html/upnp/toc.html \ - ./html/upnp/General.html \ - ./html/upnp/index.html \ - ./html/upnp/Introduction.html \ - ./html/upnp/License.html \ - ./html/upnp/AboutCallbacks.html \ - ./html/upnp/TheAPI.html \ - ./html/upnp/Errorcodes.html \ - ./html/upnp/UPNP_E_SUCCESS0.html \ - ./html/upnp/UPNP_E_INVALID_HANDLE-100.html \ - ./html/upnp/UPNP_E_INVALID_PARAM-101.html \ - ./html/upnp/UPNP_E_OUTOF_HANDLE-102.html \ - ./html/upnp/UPNP_E_OUTOF_MEMORY-104.html \ - ./html/upnp/UPNP_E_INIT-105.html \ - ./html/upnp/UPNP_E_INVALID_DESC-107.html \ - ./html/upnp/UPNP_E_INVALID_URL-108.html \ - ./html/upnp/UPNP_E_INVALID_SERVICE-111.html \ - ./html/upnp/UPNP_E_BAD_RESPONSE-113.html \ - ./html/upnp/UPNP_E_INVALID_ACTION-115.html \ - ./html/upnp/UPNP_E_FINISH-116.html \ - ./html/upnp/UPNP_E_INIT_FAILED-117.html \ - ./html/upnp/UPNP_E_BAD_HTTPMSG-119.html \ - ./html/upnp/UPNP_E_ALREADY_REGISTERED-120.html \ - ./html/upnp/UPNP_E_NETWORK_ERROR-200.html \ - ./html/upnp/UPNP_E_SOCKET_WRITE-201.html \ - ./html/upnp/UPNP_E_SOCKET_READ-202.html \ - ./html/upnp/UPNP_E_SOCKET_BIND-203.html \ - ./html/upnp/UPNP_E_SOCKET_CONNECT-204.html \ - ./html/upnp/UPNP_E_OUTOF_SOCKET-205.html \ - ./html/upnp/UPNP_E_LISTEN-206.html \ - ./html/upnp/UPNP_E_TIMEDOUT-207.html \ - ./html/upnp/UPNP_E_SOCKET_ERROR-208.html \ - ./html/upnp/UPNP_E_CANCELED-210.html \ - ./html/upnp/UPNP_E_SUBSCRIBE_UNACCEPTED-301.html \ - ./html/upnp/UPNP_E_UNSUBSCRIBE_UNACCEPTED-302.html \ - ./html/upnp/UPNP_E_NOTIFY_UNACCEPTED-303.html \ - ./html/upnp/UPNP_E_INVALID_ARGUMENT-501.html \ - ./html/upnp/UPNP_E_FILE_NOT_FOUND-502.html \ - ./html/upnp/UPNP_E_FILE_READ_ERROR-503.html \ - ./html/upnp/UPNP_E_EXT_NOT_XML-504.html \ - ./html/upnp/UPNP_E_NOT_FOUND-507.html \ - ./html/upnp/UPNP_E_INTERNAL_ERROR-911.html \ - ./html/upnp/ConstantsStructuresandTypes.html \ - ./html/upnp/UpnpClient_Handle.html \ - ./html/upnp/UpnpDevice_Handle.html \ - ./html/upnp/UPnP_EventType.html \ - ./html/upnp/UPNP_CONTROL_ACTION_REQUEST.html \ - ./html/upnp/UPNP_CONTROL_ACTION_COMPLETE.html \ - ./html/upnp/UPNP_CONTROL_GET_VAR_REQUEST.html \ - ./html/upnp/UPNP_CONTROL_GET_VAR_COMPLETE.html \ - ./html/upnp/UPNP_DISCOVERY_ADVERTISEMENT_ALIVE.html \ - ./html/upnp/UPNP_DISCOVERY_ADVERTISEMENT_BYEBYE.html \ - ./html/upnp/UPNP_DISCOVERY_SEARCH_RESULT.html \ - ./html/upnp/UPNP_DISCOVERY_SEARCH_TIMEOUT.html \ - ./html/upnp/UPNP_EVENT_SUBSCRIPTION_REQUEST.html \ - ./html/upnp/UPNP_EVENT_RECEIVED.html \ - ./html/upnp/UPNP_EVENT_RENEWAL_COMPLETE.html \ - ./html/upnp/UPNP_EVENT_SUBSCRIBE_COMPLETE.html \ - ./html/upnp/UPNP_EVENT_UNSUBSCRIBE_COMPLETE.html \ - ./html/upnp/UPNP_EVENT_AUTORENEWAL_FAILED.html \ - ./html/upnp/UPNP_EVENT_SUBSCRIPTION_EXPIRED.html \ - ./html/upnp/Upnp_SID44.html \ - ./html/upnp/Upnp_SType.html \ - ./html/upnp/UPNP_S_ALL.html \ - ./html/upnp/UPNP_S_ROOT.html \ - ./html/upnp/UPNP_S_DEVICE.html \ - ./html/upnp/UPNP_S_SERVICE.html \ - ./html/upnp/Upnp_DescType.html \ - ./html/upnp/UPNPREG_URL_DESC.html \ - ./html/upnp/UPNPREG_FILENAME_DESC.html \ - ./html/upnp/UPNPREG_BUF_DESC.html \ - ./html/upnp/Upnp_Action_Request.html \ - ./html/upnp/Upnp_State_Var_Request.html \ - ./html/upnp/Upnp_State_Var_Complete.html \ - ./html/upnp/Upnp_Event.html \ - ./html/upnp/Upnp_Discovery.html \ - ./html/upnp/Upnp_Event_Subscribe.html \ - ./html/upnp/Upnp_Subscription_Request.html \ - ./html/upnp/UpnpVirtualDirCallbacks.html \ - ./html/upnp/Upnp_FunPtr.html \ - ./html/upnp/InitializationandRegistration.html \ - ./html/upnp/UpnpInit.html \ - ./html/upnp/UpnpFinish.html \ - ./html/upnp/UpnpGetServerPort.html \ - ./html/upnp/UpnpGetServerIpAddress.html \ - ./html/upnp/UpnpRegisterClient.html \ - ./html/upnp/UpnpRegisterRootDevice.html \ - ./html/upnp/UpnpRegisterRootDevice2.html \ - ./html/upnp/UpnpUnRegisterClient.html \ - ./html/upnp/UpnpUnRegisterRootDevice.html \ - ./html/upnp/UpnpSetContentLength.html \ - ./html/upnp/UpnpSetMaxContentLength.html \ - ./html/upnp/Discovery.html \ - ./html/upnp/UpnpSearchAsync.html \ - ./html/upnp/UpnpSendAdvertisement.html \ - ./html/upnp/Control.html \ - ./html/upnp/UpnpGetServiceVarStatus.html \ - ./html/upnp/UpnpGetServiceVarStatusAsync.html \ - ./html/upnp/UpnpSendAction.html \ - ./html/upnp/UpnpSendActionEx.html \ - ./html/upnp/UpnpSendActionAsync.html \ - ./html/upnp/UpnpSendActionExAsync.html \ - ./html/upnp/Eventing.html \ - ./html/upnp/UpnpAcceptSubscription.html \ - ./html/upnp/UpnpAcceptSubscriptionExt.html \ - ./html/upnp/UpnpNotify.html \ - ./html/upnp/UpnpNotifyExt.html \ - ./html/upnp/UpnpRenewSubscription.html \ - ./html/upnp/UpnpRenewSubscriptionAsync.html \ - ./html/upnp/UpnpSetMaxSubscriptions.html \ - ./html/upnp/UpnpSetMaxSubscriptionTimeOut.html \ - ./html/upnp/UpnpSubscribe.html \ - ./html/upnp/UpnpSubscribeAsync.html \ - ./html/upnp/UpnpUnSubscribe.html \ - ./html/upnp/UpnpUnSubscribeAsync.html \ - ./html/upnp/ControlPointHTTPAPI.html \ - ./html/upnp/UpnpDownloadUrlItem.html \ - ./html/upnp/UpnpOpenHttpGet.html \ - ./html/upnp/UpnpOpenHttpGetProxy.html \ - ./html/upnp/UpnpOpenHttpGetEx.html \ - ./html/upnp/UpnpReadHttpGet.html \ - ./html/upnp/UpnpHttpGetProgress.html \ - ./html/upnp/UpnpCancelHttpGet.html \ - ./html/upnp/UpnpCloseHttpGet.html \ - ./html/upnp/UpnpOpenHttpPost.html \ - ./html/upnp/UpnpWriteHttpPost.html \ - ./html/upnp/UpnpCloseHttpPost.html \ - ./html/upnp/UpnpDownloadXmlDoc.html \ - ./html/upnp/WebServerAPI.html \ - ./html/upnp/UpnpSetWebServerRootDir.html \ - ./html/upnp/UpnpSetVirtualDirCallbacks.html \ - ./html/upnp/UpnpEnableWebserver.html \ - ./html/upnp/UpnpIsWebserverEnabled.html \ - ./html/upnp/UpnpAddVirtualDir.html \ - ./html/upnp/UpnpRemoveVirtualDir.html \ - ./html/upnp/UpnpRemoveAllVirtualDirs.html \ - ./html/upnp/OptionalToolAPIs.html \ - ./html/upnp/UpnpResolveURL.html \ - ./html/upnp/UpnpMakeAction.html \ - ./html/upnp/UpnpAddToAction.html \ - ./html/upnp/UpnpMakeActionResponse.html \ - ./html/upnp/UpnpAddToActionResponse.html \ - ./html/upnp/UpnpAddToPropertySet.html \ - ./html/upnp/UpnpCreatePropertySet.html \ - ./html/upnp/UpnpGetErrorMessage.html \ - ./html/ixml/icon1.gif \ - ./html/ixml/icon2.gif \ - ./html/ixml/toc.html \ - ./html/ixml/General.html \ - ./html/ixml/index.html \ - ./html/ixml/Introduction.html \ - ./html/ixml/License.html \ - ./html/ixml/DOMInterfaces.html \ - ./html/ixml/InterfaceitNode.html \ - ./html/ixml/ixmlNode_getNodeName.html \ - ./html/ixml/ixmlNode_getNodeValue.html \ - ./html/ixml/ixmlNode_setNodeValue.html \ - ./html/ixml/ixmlNode_getNodeType.html \ - ./html/ixml/ixmlNode_getParentNode.html \ - ./html/ixml/ixmlNode_getChildNodes.html \ - ./html/ixml/ixmlNode_getFirstChild.html \ - ./html/ixml/ixmlNode_getLastChild.html \ - ./html/ixml/ixmlNode_getPreviousSibling.html \ - ./html/ixml/ixmlNode_getNextSibling.html \ - ./html/ixml/ixmlNode_getAttributes.html \ - ./html/ixml/ixmlNode_getOwnerDocument.html \ - ./html/ixml/ixmlNode_getNamespaceURI.html \ - ./html/ixml/ixmlNode_getPrefix.html \ - ./html/ixml/ixmlNode_getLocalName.html \ - ./html/ixml/ixmlNode_insertBefore.html \ - ./html/ixml/ixmlNode_replaceChild.html \ - ./html/ixml/ixmlNode_removeChild.html \ - ./html/ixml/ixmlNode_appendChild.html \ - ./html/ixml/ixmlNode_hasChildNodes.html \ - ./html/ixml/ixmlNode_cloneNode.html \ - ./html/ixml/ixmlNode_hasAttributes.html \ - ./html/ixml/ixmlNode_free.html \ - ./html/ixml/InterfaceitAttr.html \ - ./html/ixml/ixmlAttr_free.html \ - ./html/ixml/InterfaceitCDATASection.html \ - ./html/ixml/ixmlCDATASection_init.html \ - ./html/ixml/ixmlCDATASection_free.html \ - ./html/ixml/InterfaceitDocument.html \ - ./html/ixml/ixmlDocument_init.html \ - ./html/ixml/ixmlDocument_createDocumentEx.html \ - ./html/ixml/ixmlDocument_createDocument.html \ - ./html/ixml/ixmlDocument_createElementEx.html \ - ./html/ixml/ixmlDocument_createElement.html \ - ./html/ixml/ixmlDocument_createTextNodeEx.html \ - ./html/ixml/ixmlDocument_createTextNode.html \ - ./html/ixml/ixmlDocument_createCDATASectionEx.html \ - ./html/ixml/ixmlDocument_createCDATASection.html \ - ./html/ixml/ixmlDocument_createAttribute.html \ - ./html/ixml/ixmlDocument_createAttributeEx.html \ - ./html/ixml/ixmlDocument_getElementsByTagName.html \ - ./html/ixml/ixmlDocument_createElementNSEx.html \ - ./html/ixml/ixmlDocument_createElementNS.html \ - ./html/ixml/ixmlDocument_createAttributeNSEx.html \ - ./html/ixml/ixmlDocument_createAttributeNS.html \ - ./html/ixml/ixmlDocument_getElementsByTagNameNS.html \ - ./html/ixml/ixmlDocument_getElementById.html \ - ./html/ixml/ixmlDocument_free.html \ - ./html/ixml/ixmlDocument_importNode.html \ - ./html/ixml/InterfaceitElement.html \ - ./html/ixml/ixmlElement_init.html \ - ./html/ixml/ixmlElement_getTagName.html \ - ./html/ixml/ixmlElement_getAttribute.html \ - ./html/ixml/ixmlElement_setAttribute.html \ - ./html/ixml/ixmlElement_removeAttribute.html \ - ./html/ixml/ixmlElement_getAttributeNode.html \ - ./html/ixml/ixmlElement_setAttributeNode.html \ - ./html/ixml/ixmlElement_removeAttributeNode.html \ - ./html/ixml/ixmlElement_getElementsByTagName.html \ - ./html/ixml/ixmlElement_getAttributeNS.html \ - ./html/ixml/ixmlElement_setAttributeNS.html \ - ./html/ixml/ixmlElement_removeAttributeNS.html \ - ./html/ixml/ixmlElement_getAttributeNodeNS.html \ - ./html/ixml/ixmlElement_setAttributeNodeNS.html \ - ./html/ixml/ixmlElement_getElementsByTagNameNS.html \ - ./html/ixml/ixmlElement_hasAttribute.html \ - ./html/ixml/ixmlElement_hasAttributeNS.html \ - ./html/ixml/ixmlElement_free.html \ - ./html/ixml/InterfaceitNamedNodeMap.html \ - ./html/ixml/ixmlNamedNodeMap_getLength.html \ - ./html/ixml/ixmlNamedNodeMap_getNamedItem.html \ - ./html/ixml/ixmlNamedNodeMap_setNamedItem.html \ - ./html/ixml/ixmlNamedNodeMap_removeNamedItem.html \ - ./html/ixml/ixmlNamedNodeMap_item.html \ - ./html/ixml/ixmlNamedNodeMap_getNamedItemNS.html \ - ./html/ixml/ixmlNamedNodeMap_setNamedItemNS.html \ - ./html/ixml/ixmlNamedNodeMap_removeNamedItemNS.html \ - ./html/ixml/ixmlNamedNodeMap_free.html \ - ./html/ixml/InterfaceitNodeList.html \ - ./html/ixml/ixmlNodeList_item.html \ - ./html/ixml/ixmlNodeList_length.html \ - ./html/ixml/ixmlNodeList_free.html \ - ./html/ixml/IXMLAPI.html \ - ./html/ixml/ixmlPrintDocument.html \ - ./html/ixml/ixmlPrintNode.html \ - ./html/ixml/ixmlDocumenttoString.html \ - ./html/ixml/ixmlNodetoString.html \ - ./html/ixml/ixmlRelaxParser.html \ - ./html/ixml/ixmlParseBuffer.html \ - ./html/ixml/ixmlParseBufferEx.html \ - ./html/ixml/ixmlLoadDocument.html \ - ./html/ixml/ixmlLoadDocumentEx.html \ - ./html/ixml/ixmlCloneDOMString.html \ - ./html/ixml/ixmlFreeDOMString.html - -if WITH_DOCUMENTATION - docsdir = @docdir@ - nobase_docs_DATA = \ - ./UPnP_Programming_Guide.pdf \ - ./IXML_Programming_Guide.pdf \ - ./html/upnp/icon1.gif \ - ./html/upnp/icon2.gif \ - ./html/upnp/toc.html \ - ./html/upnp/General.html \ - ./html/upnp/index.html \ - ./html/upnp/Introduction.html \ - ./html/upnp/License.html \ - ./html/upnp/AboutCallbacks.html \ - ./html/upnp/TheAPI.html \ - ./html/upnp/Errorcodes.html \ - ./html/upnp/UPNP_E_SUCCESS0.html \ - ./html/upnp/UPNP_E_INVALID_HANDLE-100.html \ - ./html/upnp/UPNP_E_INVALID_PARAM-101.html \ - ./html/upnp/UPNP_E_OUTOF_HANDLE-102.html \ - ./html/upnp/UPNP_E_OUTOF_MEMORY-104.html \ - ./html/upnp/UPNP_E_INIT-105.html \ - ./html/upnp/UPNP_E_INVALID_DESC-107.html \ - ./html/upnp/UPNP_E_INVALID_URL-108.html \ - ./html/upnp/UPNP_E_INVALID_SERVICE-111.html \ - ./html/upnp/UPNP_E_BAD_RESPONSE-113.html \ - ./html/upnp/UPNP_E_INVALID_ACTION-115.html \ - ./html/upnp/UPNP_E_FINISH-116.html \ - ./html/upnp/UPNP_E_INIT_FAILED-117.html \ - ./html/upnp/UPNP_E_BAD_HTTPMSG-119.html \ - ./html/upnp/UPNP_E_ALREADY_REGISTERED-120.html \ - ./html/upnp/UPNP_E_NETWORK_ERROR-200.html \ - ./html/upnp/UPNP_E_SOCKET_WRITE-201.html \ - ./html/upnp/UPNP_E_SOCKET_READ-202.html \ - ./html/upnp/UPNP_E_SOCKET_BIND-203.html \ - ./html/upnp/UPNP_E_SOCKET_CONNECT-204.html \ - ./html/upnp/UPNP_E_OUTOF_SOCKET-205.html \ - ./html/upnp/UPNP_E_LISTEN-206.html \ - ./html/upnp/UPNP_E_TIMEDOUT-207.html \ - ./html/upnp/UPNP_E_SOCKET_ERROR-208.html \ - ./html/upnp/UPNP_E_CANCELED-210.html \ - ./html/upnp/UPNP_E_SUBSCRIBE_UNACCEPTED-301.html \ - ./html/upnp/UPNP_E_UNSUBSCRIBE_UNACCEPTED-302.html \ - ./html/upnp/UPNP_E_NOTIFY_UNACCEPTED-303.html \ - ./html/upnp/UPNP_E_INVALID_ARGUMENT-501.html \ - ./html/upnp/UPNP_E_FILE_NOT_FOUND-502.html \ - ./html/upnp/UPNP_E_FILE_READ_ERROR-503.html \ - ./html/upnp/UPNP_E_EXT_NOT_XML-504.html \ - ./html/upnp/UPNP_E_NOT_FOUND-507.html \ - ./html/upnp/UPNP_E_INTERNAL_ERROR-911.html \ - ./html/upnp/ConstantsStructuresandTypes.html \ - ./html/upnp/UpnpClient_Handle.html \ - ./html/upnp/UpnpDevice_Handle.html \ - ./html/upnp/UPnP_EventType.html \ - ./html/upnp/UPNP_CONTROL_ACTION_REQUEST.html \ - ./html/upnp/UPNP_CONTROL_ACTION_COMPLETE.html \ - ./html/upnp/UPNP_CONTROL_GET_VAR_REQUEST.html \ - ./html/upnp/UPNP_CONTROL_GET_VAR_COMPLETE.html \ - ./html/upnp/UPNP_DISCOVERY_ADVERTISEMENT_ALIVE.html \ - ./html/upnp/UPNP_DISCOVERY_ADVERTISEMENT_BYEBYE.html \ - ./html/upnp/UPNP_DISCOVERY_SEARCH_RESULT.html \ - ./html/upnp/UPNP_DISCOVERY_SEARCH_TIMEOUT.html \ - ./html/upnp/UPNP_EVENT_SUBSCRIPTION_REQUEST.html \ - ./html/upnp/UPNP_EVENT_RECEIVED.html \ - ./html/upnp/UPNP_EVENT_RENEWAL_COMPLETE.html \ - ./html/upnp/UPNP_EVENT_SUBSCRIBE_COMPLETE.html \ - ./html/upnp/UPNP_EVENT_UNSUBSCRIBE_COMPLETE.html \ - ./html/upnp/UPNP_EVENT_AUTORENEWAL_FAILED.html \ - ./html/upnp/UPNP_EVENT_SUBSCRIPTION_EXPIRED.html \ - ./html/upnp/Upnp_SID44.html \ - ./html/upnp/Upnp_SType.html \ - ./html/upnp/UPNP_S_ALL.html \ - ./html/upnp/UPNP_S_ROOT.html \ - ./html/upnp/UPNP_S_DEVICE.html \ - ./html/upnp/UPNP_S_SERVICE.html \ - ./html/upnp/Upnp_DescType.html \ - ./html/upnp/UPNPREG_URL_DESC.html \ - ./html/upnp/UPNPREG_FILENAME_DESC.html \ - ./html/upnp/UPNPREG_BUF_DESC.html \ - ./html/upnp/Upnp_Action_Request.html \ - ./html/upnp/Upnp_State_Var_Request.html \ - ./html/upnp/Upnp_State_Var_Complete.html \ - ./html/upnp/Upnp_Event.html \ - ./html/upnp/Upnp_Discovery.html \ - ./html/upnp/Upnp_Event_Subscribe.html \ - ./html/upnp/Upnp_Subscription_Request.html \ - ./html/upnp/UpnpVirtualDirCallbacks.html \ - ./html/upnp/Upnp_FunPtr.html \ - ./html/upnp/InitializationandRegistration.html \ - ./html/upnp/UpnpInit.html \ - ./html/upnp/UpnpFinish.html \ - ./html/upnp/UpnpGetServerPort.html \ - ./html/upnp/UpnpGetServerIpAddress.html \ - ./html/upnp/UpnpRegisterClient.html \ - ./html/upnp/UpnpRegisterRootDevice.html \ - ./html/upnp/UpnpRegisterRootDevice2.html \ - ./html/upnp/UpnpUnRegisterClient.html \ - ./html/upnp/UpnpUnRegisterRootDevice.html \ - ./html/upnp/UpnpSetContentLength.html \ - ./html/upnp/UpnpSetMaxContentLength.html \ - ./html/upnp/Discovery.html \ - ./html/upnp/UpnpSearchAsync.html \ - ./html/upnp/UpnpSendAdvertisement.html \ - ./html/upnp/Control.html \ - ./html/upnp/UpnpGetServiceVarStatus.html \ - ./html/upnp/UpnpGetServiceVarStatusAsync.html \ - ./html/upnp/UpnpSendAction.html \ - ./html/upnp/UpnpSendActionEx.html \ - ./html/upnp/UpnpSendActionAsync.html \ - ./html/upnp/UpnpSendActionExAsync.html \ - ./html/upnp/Eventing.html \ - ./html/upnp/UpnpAcceptSubscription.html \ - ./html/upnp/UpnpAcceptSubscriptionExt.html \ - ./html/upnp/UpnpNotify.html \ - ./html/upnp/UpnpNotifyExt.html \ - ./html/upnp/UpnpRenewSubscription.html \ - ./html/upnp/UpnpRenewSubscriptionAsync.html \ - ./html/upnp/UpnpSetMaxSubscriptions.html \ - ./html/upnp/UpnpSetMaxSubscriptionTimeOut.html \ - ./html/upnp/UpnpSubscribe.html \ - ./html/upnp/UpnpSubscribeAsync.html \ - ./html/upnp/UpnpUnSubscribe.html \ - ./html/upnp/UpnpUnSubscribeAsync.html \ - ./html/upnp/ControlPointHTTPAPI.html \ - ./html/upnp/UpnpDownloadUrlItem.html \ - ./html/upnp/UpnpOpenHttpGet.html \ - ./html/upnp/UpnpOpenHttpGetProxy.html \ - ./html/upnp/UpnpOpenHttpGetEx.html \ - ./html/upnp/UpnpReadHttpGet.html \ - ./html/upnp/UpnpHttpGetProgress.html \ - ./html/upnp/UpnpCancelHttpGet.html \ - ./html/upnp/UpnpCloseHttpGet.html \ - ./html/upnp/UpnpOpenHttpPost.html \ - ./html/upnp/UpnpWriteHttpPost.html \ - ./html/upnp/UpnpCloseHttpPost.html \ - ./html/upnp/UpnpDownloadXmlDoc.html \ - ./html/upnp/WebServerAPI.html \ - ./html/upnp/UpnpSetWebServerRootDir.html \ - ./html/upnp/UpnpSetVirtualDirCallbacks.html \ - ./html/upnp/UpnpEnableWebserver.html \ - ./html/upnp/UpnpIsWebserverEnabled.html \ - ./html/upnp/UpnpAddVirtualDir.html \ - ./html/upnp/UpnpRemoveVirtualDir.html \ - ./html/upnp/UpnpRemoveAllVirtualDirs.html \ - ./html/upnp/OptionalToolAPIs.html \ - ./html/upnp/UpnpResolveURL.html \ - ./html/upnp/UpnpMakeAction.html \ - ./html/upnp/UpnpAddToAction.html \ - ./html/upnp/UpnpMakeActionResponse.html \ - ./html/upnp/UpnpAddToActionResponse.html \ - ./html/upnp/UpnpAddToPropertySet.html \ - ./html/upnp/UpnpCreatePropertySet.html \ - ./html/upnp/UpnpGetErrorMessage.html \ - ./html/ixml/icon1.gif \ - ./html/ixml/icon2.gif \ - ./html/ixml/toc.html \ - ./html/ixml/General.html \ - ./html/ixml/index.html \ - ./html/ixml/Introduction.html \ - ./html/ixml/License.html \ - ./html/ixml/DOMInterfaces.html \ - ./html/ixml/InterfaceitNode.html \ - ./html/ixml/ixmlNode_getNodeName.html \ - ./html/ixml/ixmlNode_getNodeValue.html \ - ./html/ixml/ixmlNode_setNodeValue.html \ - ./html/ixml/ixmlNode_getNodeType.html \ - ./html/ixml/ixmlNode_getParentNode.html \ - ./html/ixml/ixmlNode_getChildNodes.html \ - ./html/ixml/ixmlNode_getFirstChild.html \ - ./html/ixml/ixmlNode_getLastChild.html \ - ./html/ixml/ixmlNode_getPreviousSibling.html \ - ./html/ixml/ixmlNode_getNextSibling.html \ - ./html/ixml/ixmlNode_getAttributes.html \ - ./html/ixml/ixmlNode_getOwnerDocument.html \ - ./html/ixml/ixmlNode_getNamespaceURI.html \ - ./html/ixml/ixmlNode_getPrefix.html \ - ./html/ixml/ixmlNode_getLocalName.html \ - ./html/ixml/ixmlNode_insertBefore.html \ - ./html/ixml/ixmlNode_replaceChild.html \ - ./html/ixml/ixmlNode_removeChild.html \ - ./html/ixml/ixmlNode_appendChild.html \ - ./html/ixml/ixmlNode_hasChildNodes.html \ - ./html/ixml/ixmlNode_cloneNode.html \ - ./html/ixml/ixmlNode_hasAttributes.html \ - ./html/ixml/ixmlNode_free.html \ - ./html/ixml/InterfaceitAttr.html \ - ./html/ixml/ixmlAttr_free.html \ - ./html/ixml/InterfaceitCDATASection.html \ - ./html/ixml/ixmlCDATASection_init.html \ - ./html/ixml/ixmlCDATASection_free.html \ - ./html/ixml/InterfaceitDocument.html \ - ./html/ixml/ixmlDocument_init.html \ - ./html/ixml/ixmlDocument_createDocumentEx.html \ - ./html/ixml/ixmlDocument_createDocument.html \ - ./html/ixml/ixmlDocument_createElementEx.html \ - ./html/ixml/ixmlDocument_createElement.html \ - ./html/ixml/ixmlDocument_createTextNodeEx.html \ - ./html/ixml/ixmlDocument_createTextNode.html \ - ./html/ixml/ixmlDocument_createCDATASectionEx.html \ - ./html/ixml/ixmlDocument_createCDATASection.html \ - ./html/ixml/ixmlDocument_createAttribute.html \ - ./html/ixml/ixmlDocument_createAttributeEx.html \ - ./html/ixml/ixmlDocument_getElementsByTagName.html \ - ./html/ixml/ixmlDocument_createElementNSEx.html \ - ./html/ixml/ixmlDocument_createElementNS.html \ - ./html/ixml/ixmlDocument_createAttributeNSEx.html \ - ./html/ixml/ixmlDocument_createAttributeNS.html \ - ./html/ixml/ixmlDocument_getElementsByTagNameNS.html \ - ./html/ixml/ixmlDocument_getElementById.html \ - ./html/ixml/ixmlDocument_free.html \ - ./html/ixml/ixmlDocument_importNode.html \ - ./html/ixml/InterfaceitElement.html \ - ./html/ixml/ixmlElement_init.html \ - ./html/ixml/ixmlElement_getTagName.html \ - ./html/ixml/ixmlElement_getAttribute.html \ - ./html/ixml/ixmlElement_setAttribute.html \ - ./html/ixml/ixmlElement_removeAttribute.html \ - ./html/ixml/ixmlElement_getAttributeNode.html \ - ./html/ixml/ixmlElement_setAttributeNode.html \ - ./html/ixml/ixmlElement_removeAttributeNode.html \ - ./html/ixml/ixmlElement_getElementsByTagName.html \ - ./html/ixml/ixmlElement_getAttributeNS.html \ - ./html/ixml/ixmlElement_setAttributeNS.html \ - ./html/ixml/ixmlElement_removeAttributeNS.html \ - ./html/ixml/ixmlElement_getAttributeNodeNS.html \ - ./html/ixml/ixmlElement_setAttributeNodeNS.html \ - ./html/ixml/ixmlElement_getElementsByTagNameNS.html \ - ./html/ixml/ixmlElement_hasAttribute.html \ - ./html/ixml/ixmlElement_hasAttributeNS.html \ - ./html/ixml/ixmlElement_free.html \ - ./html/ixml/InterfaceitNamedNodeMap.html \ - ./html/ixml/ixmlNamedNodeMap_getLength.html \ - ./html/ixml/ixmlNamedNodeMap_getNamedItem.html \ - ./html/ixml/ixmlNamedNodeMap_setNamedItem.html \ - ./html/ixml/ixmlNamedNodeMap_removeNamedItem.html \ - ./html/ixml/ixmlNamedNodeMap_item.html \ - ./html/ixml/ixmlNamedNodeMap_getNamedItemNS.html \ - ./html/ixml/ixmlNamedNodeMap_setNamedItemNS.html \ - ./html/ixml/ixmlNamedNodeMap_removeNamedItemNS.html \ - ./html/ixml/ixmlNamedNodeMap_free.html \ - ./html/ixml/InterfaceitNodeList.html \ - ./html/ixml/ixmlNodeList_item.html \ - ./html/ixml/ixmlNodeList_length.html \ - ./html/ixml/ixmlNodeList_free.html \ - ./html/ixml/IXMLAPI.html \ - ./html/ixml/ixmlPrintDocument.html \ - ./html/ixml/ixmlPrintNode.html \ - ./html/ixml/ixmlDocumenttoString.html \ - ./html/ixml/ixmlNodetoString.html \ - ./html/ixml/ixmlRelaxParser.html \ - ./html/ixml/ixmlParseBuffer.html \ - ./html/ixml/ixmlParseBufferEx.html \ - ./html/ixml/ixmlLoadDocument.html \ - ./html/ixml/ixmlLoadDocumentEx.html \ - ./html/ixml/ixmlCloneDOMString.html \ - ./html/ixml/ixmlFreeDOMString.html -endif - Binary files /tmp/tmp23Uadf/wb2IpeRfmY/pupnp-1.8-1.8.3/docs/dist/UPnP_Programming_Guide.pdf and /tmp/tmp23Uadf/OM9SRuN53O/pupnp-1.8-1.8.4/docs/dist/UPnP_Programming_Guide.pdf differ diff -Nru pupnp-1.8-1.8.3/Doxyfile pupnp-1.8-1.8.4/Doxyfile --- pupnp-1.8-1.8.3/Doxyfile 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/Doxyfile 2018-10-25 14:41:00.000000000 +0000 @@ -38,7 +38,7 @@ # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = 1.8.3 +PROJECT_NUMBER = 1.8.4 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a diff -Nru pupnp-1.8-1.8.3/ixml/test/test_document.sh pupnp-1.8-1.8.4/ixml/test/test_document.sh --- pupnp-1.8-1.8.3/ixml/test/test_document.sh 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/ixml/test/test_document.sh 2018-10-25 14:41:00.000000000 +0000 @@ -1,4 +1,4 @@ #!/bin/sh -./test_document-1.8 `find $srcdir/test/testdata -name *.xml` +./test_document `find $srcdir/test/testdata -name *.xml` diff -Nru pupnp-1.8-1.8.3/libupnp.spec pupnp-1.8-1.8.4/libupnp.spec --- pupnp-1.8-1.8.3/libupnp.spec 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/libupnp.spec 2018-10-25 14:41:00.000000000 +0000 @@ -1,4 +1,4 @@ -Version: 1.8.3 +Version: 1.8.4 Summary: Universal Plug and Play (UPnP) SDK Name: libupnp-1.8 Release: 1%{?dist} @@ -41,12 +41,6 @@ #mv examples dir and pdf file to the doc devel dir %{__mv} %{buildroot}%{docdir}/examples \ %{buildroot}%{docdeveldir}/ -%{__mv} %{buildroot}%{docdir}/UPnP_Programming_Guide.pdf \ - %{buildroot}%{docdeveldir}/ -%{__mv} %{buildroot}%{docdir}/IXML_Programming_Guide.pdf \ - %{buildroot}%{docdeveldir}/ -%{__mv} %{buildroot}%{docdir}/html \ - %{buildroot}%{docdeveldir}/ %{__rm} %{buildroot}%{_libdir}/{libixml.la,libupnp.la} diff -Nru pupnp-1.8-1.8.3/LICENSE pupnp-1.8-1.8.4/LICENSE --- pupnp-1.8-1.8.3/LICENSE 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/LICENSE 1970-01-01 00:00:00.000000000 +0000 @@ -1,27 +0,0 @@ -Copyright (c) 2000-2003 Intel Corporation -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -* Neither name of Intel Corporation nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL OR -CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY -OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - diff -Nru pupnp-1.8-1.8.3/m4/ax_cflags_warn_all_ansi.m4 pupnp-1.8-1.8.4/m4/ax_cflags_warn_all_ansi.m4 --- pupnp-1.8-1.8.3/m4/ax_cflags_warn_all_ansi.m4 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/m4/ax_cflags_warn_all_ansi.m4 1970-01-01 00:00:00.000000000 +0000 @@ -1,157 +0,0 @@ -##### http://autoconf-archive.cryp.to/ax_cflags_warn_all_ansi.html -# -# SYNOPSIS -# -# AX_CFLAGS_WARN_ALL_ANSI [(shellvar [,default, [A/NA]])] -# -# DESCRIPTION -# -# Try to find a compiler option that enables most reasonable -# warnings. This macro is directly derived from VL_PROG_CC_WARNINGS -# which is split up into two AX_CFLAGS_WARN_ALL and -# AX_CFLAGS_WARN_ALL_ANSI -# -# For the GNU CC compiler it will be -Wall (and -ansi -pedantic) The -# result is added to the shellvar being CFLAGS by default. -# -# Currently this macro knows about GCC, Solaris C compiler, Digital -# Unix C compiler, C for AIX Compiler, HP-UX C compiler, IRIX C -# compiler, NEC SX-5 (Super-UX 10) C compiler, and Cray J90 (Unicos -# 10.0.0.8) C compiler. -# -# - $1 shell-variable-to-add-to : CFLAGS -# - $2 add-value-if-not-found : nothing -# - $3 action-if-found : add value to shellvariable -# - $4 action-if-not-found : nothing -# -# LAST MODIFICATION -# -# 2006-12-12 -# -# COPYLEFT -# -# Copyright (c) 2006 Guido U. Draheim -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. -# -# As a special exception, the respective Autoconf Macro's copyright -# owner gives unlimited permission to copy, distribute and modify the -# configure scripts that are the output of Autoconf when processing -# the Macro. You need not follow the terms of the GNU General Public -# License when using or distributing such scripts, even though -# portions of the text of the Macro appear in them. The GNU General -# Public License (GPL) does govern all other use of the material that -# constitutes the Autoconf Macro. -# -# This special exception to the GPL applies to versions of the -# Autoconf Macro released by the Autoconf Macro Archive. When you -# make and distribute a modified version of the Autoconf Macro, you -# may extend this special exception to the GPL to apply to your -# modified version as well. - -AC_DEFUN([AX_CFLAGS_WARN_ALL_ANSI],[dnl -AS_VAR_PUSHDEF([FLAGS],[CFLAGS])dnl -AS_VAR_PUSHDEF([VAR],[ac_cv_cflags_warn_all_ansi])dnl -AC_CACHE_CHECK([m4_ifval($1,$1,FLAGS) for maximum ansi warnings], -VAR,[VAR="no, unknown" - AC_LANG_SAVE - AC_LANG_C - ac_save_[]FLAGS="$[]FLAGS" -# IRIX C compiler: -# -use_readonly_const is the default for IRIX C, -# puts them into .rodata, but they are copied later. -# need to be "-G0 -rdatashared" for strictmode but -# I am not sure what effect that has really. - guidod -for ac_arg dnl -in "-pedantic % -Wall -ansi -pedantic" dnl GCC - "-xstrconst % -v -Xc" dnl Solaris C - "-std1 % -verbose -w0 -warnprotos -std1" dnl Digital Unix - " % -qlanglvl=ansi -qsrcmsg -qinfo=all:noppt:noppc:noobs:nocnd" dnl AIX - " % -ansi -ansiE -fullwarn" dnl IRIX - "+ESlit % +w1 -Aa" dnl HP-UX C - "-Xc % -pvctl[,]fullmsg -Xc" dnl NEC SX-5 (Super-UX 10) - "-h conform % -h msglevel 2 -h conform" dnl Cray C (Unicos) - # -do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` - AC_TRY_COMPILE([],[return 0;], - [VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break]) -done - FLAGS="$ac_save_[]FLAGS" - AC_LANG_RESTORE -]) -case ".$VAR" in - .ok|.ok,*) m4_ifvaln($3,$3) ;; - .|.no|.no,*) m4_ifvaln($4,$4,[m4_ifval($2,[ - AC_RUN_LOG([: m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $2"]) - m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $2"])]) ;; - *) m4_ifvaln($3,$3,[ - if echo " $[]m4_ifval($1,$1,FLAGS) " | grep " $VAR " 2>&1 >/dev/null - then AC_RUN_LOG([: m4_ifval($1,$1,FLAGS) does contain $VAR]) - else AC_RUN_LOG([: m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR"]) - m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR" - fi ]) ;; -esac -AS_VAR_POPDEF([VAR])dnl -AS_VAR_POPDEF([FLAGS])dnl -]) - -dnl the only difference - the LANG selection... and the default FLAGS - -AC_DEFUN([AX_CXXFLAGS_WARN_ALL_ANSI],[dnl -AS_VAR_PUSHDEF([FLAGS],[CXXFLAGS])dnl -AS_VAR_PUSHDEF([VAR],[ac_cv_cxxflags_warn_all_ansi])dnl -AC_CACHE_CHECK([m4_ifval($1,$1,FLAGS) for maximum ansi warnings], -VAR,[VAR="no, unknown" - AC_LANG_SAVE - AC_LANG_CPLUSPLUS - ac_save_[]FLAGS="$[]FLAGS" -# IRIX C compiler: -# -use_readonly_const is the default for IRIX C, -# puts them into .rodata, but they are copied later. -# need to be "-G0 -rdatashared" for strictmode but -# I am not sure what effect that has really. - guidod -for ac_arg dnl -in "-pedantic % -Wall -ansi -pedantic" dnl GCC - "-xstrconst % -v -Xc" dnl Solaris C - "-std1 % -verbose -w0 -warnprotos -std1" dnl Digital Unix - " % -qlanglvl=ansi -qsrcmsg -qinfo=all:noppt:noppc:noobs:nocnd" dnl AIX - " % -ansi -ansiE -fullwarn" dnl IRIX - "+ESlit % +w1 -Aa" dnl HP-UX C - "-Xc % -pvctl[,]fullmsg -Xc" dnl NEC SX-5 (Super-UX 10) - "-h conform % -h msglevel 2 -h conform" dnl Cray C (Unicos) - # -do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` - AC_TRY_COMPILE([],[return 0;], - [VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break]) -done - FLAGS="$ac_save_[]FLAGS" - AC_LANG_RESTORE -]) -case ".$VAR" in - .ok|.ok,*) m4_ifvaln($3,$3) ;; - .|.no|.no,*) m4_ifvaln($4,$4,[m4_ifval($2,[ - AC_RUN_LOG([: m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $2"]) - m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $2"])]) ;; - *) m4_ifvaln($3,$3,[ - if echo " $[]m4_ifval($1,$1,FLAGS) " | grep " $VAR " 2>&1 >/dev/null - then AC_RUN_LOG([: m4_ifval($1,$1,FLAGS) does contain $VAR]) - else AC_RUN_LOG([: m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR"]) - m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR" - fi ]) ;; -esac -AS_VAR_POPDEF([VAR])dnl -AS_VAR_POPDEF([FLAGS])dnl -]) diff -Nru pupnp-1.8-1.8.3/m4/type_socklen_t.m4 pupnp-1.8-1.8.4/m4/type_socklen_t.m4 --- pupnp-1.8-1.8.3/m4/type_socklen_t.m4 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/m4/type_socklen_t.m4 1970-01-01 00:00:00.000000000 +0000 @@ -1,64 +0,0 @@ -##### http://autoconf-archive.cryp.to/type_socklen_t.html -# -# SYNOPSIS -# -# TYPE_SOCKLEN_T -# -# DESCRIPTION -# -# Check whether sys/socket.h defines type socklen_t. Please note that -# some systems require sys/types.h to be included before sys/socket.h -# can be compiled. -# -# LAST MODIFICATION -# -# 2005-01-11 -# -# COPYLEFT -# -# Copyright (c) 2005 Lars Brinkhoff -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. -# -# As a special exception, the respective Autoconf Macro's copyright -# owner gives unlimited permission to copy, distribute and modify the -# configure scripts that are the output of Autoconf when processing -# the Macro. You need not follow the terms of the GNU General Public -# License when using or distributing such scripts, even though -# portions of the text of the Macro appear in them. The GNU General -# Public License (GPL) does govern all other use of the material that -# constitutes the Autoconf Macro. -# -# This special exception to the GPL applies to versions of the -# Autoconf Macro released by the Autoconf Macro Archive. When you -# make and distribute a modified version of the Autoconf Macro, you -# may extend this special exception to the GPL to apply to your -# modified version as well. - -AC_DEFUN([TYPE_SOCKLEN_T], -[AC_CACHE_CHECK([for socklen_t], ac_cv_type_socklen_t, -[ - AC_TRY_COMPILE( - [#include - #include ], - [socklen_t len = 42; return 0;], - ac_cv_type_socklen_t=yes, - ac_cv_type_socklen_t=no) -]) - if test $ac_cv_type_socklen_t != yes; then - AC_DEFINE(socklen_t, int, [Substitute for socklen_t]) - fi -]) diff -Nru pupnp-1.8-1.8.3/Makefile.am pupnp-1.8-1.8.4/Makefile.am --- pupnp-1.8-1.8.3/Makefile.am 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/Makefile.am 2018-10-25 14:41:00.000000000 +0000 @@ -10,15 +10,11 @@ SUBDIRS = \ ixml \ - upnp \ - docs/dist - + upnp EXTRA_DIST = \ Doxyfile \ libupnp.pc.in \ - LICENSE \ - THANKS \ libupnp.spec \ build/msvc/inttypes.h \ build/msvc/stdint.h @@ -29,14 +25,6 @@ pkgconfigexecdir = $(libdir)/pkgconfig pkgconfigexec_DATA = libupnp.pc - $(pkgconfigexec_DATA): config.status - -if WITH_DOCUMENTATION - doc_DATA = LICENSE README NEWS TODO THANKS -endif - - -CLEANFILES = IUpnpErrFile.txt IUpnpInfoFile.txt - +CLEANFILES = build/inc/autoconfig.h build/inc/upnpconfig.h diff -Nru pupnp-1.8-1.8.3/NEWS pupnp-1.8-1.8.4/NEWS --- pupnp-1.8-1.8.3/NEWS 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/NEWS 1970-01-01 00:00:00.000000000 +0000 @@ -1,84 +0,0 @@ - -What is new in libupnp 1.3.1 - -* fix: "upnp.h" includes "upnpdebug.h" only if debug enabled in the library - (else header file is not installed) - -* fix: add inter-library dependencies between upnp and ixml / threadutil, - so that programs linking against upnp only still work. - -============================================================================ - -What is new in libupnp 1.3.0 - -* major change: autoconfiscate build system. automake + autoconf replace the - previous makefiles. This should allow for easier build and installation on - various distributions. - -* change: optional library features are selected with configure options - (such as "./configure --enable-debug --disable-device") : see README file - for the main options, and "./configure --help" to display a complete list. - -* new: install a pkgconfig file "libupnp.pc" - -* new: a new installed file provides macros to know - the installed library version, and the optional features which have - been configured in the library. - -* change: the old included file "config.h", which contained internal - definitions needed to compile the library, is no longer installed in - -* change: the debug definitions previously available in - are now available in (only if library configured with - debug enabled). - -* change: add libtool versionning for the 3 libraries. - Also hide all library symbols not part of the public API. - -* change: remove "hard" limit to 32K in UpnpSetContentLength - (not suitable for UPnP AV clients). - -* new: new "UpnpSetMaxContentLength" function to globally set the maximum - incoming content-length that the SDK will process (should be used instead - of UpnpSetContentLength, which does not uses its handle argument) - -* change: returns OUTOF_BOUNDS instead of BAD_HTTPMSG when exceed allowed - Content Length - -* new: ixml: new function ixmlRelaxParser to make the XML parser more tolerant - to malformed text, if required (default behaviour is unchanged : abort - on error) - -* fix: compilation error with gcc4 - -* fix: add some missing const's in public API - -* fix: add check for availability of socklen_t type - -* fix: miscellaneous bugs and warnings (see details in ChangeLog) - -============================================================================ - -Changes to the SDK for UPnP Devices version 1.2.1a: - -- Changes the NAME_SIZE constant used for URL buffers to 256 bytes to - accomodate longer URLs. - -============================================================================ - -Changes to the SDK for UPnP Devices version 1.2.1: - -- Integrates an entirely new XML parser that features DOM2 API support and - a much smaller code size. -- Integrates a new threading utility library that manages all threads in - the library. -- Elimination of C++ and other code optimizations have reduced the binary - size by over 60%. -- The web server now supports application-level callbacks to handle - dynamically generated data. -- The web server now correctly handles chunked encoding. -- A new client HTTP API has been added that allows downloading of items - of unlimited size. -- The SDK supports much better cross-compilation support. -- Numerous memory leaks and bugs have been fixed. - diff -Nru pupnp-1.8-1.8.3/README.md pupnp-1.8-1.8.4/README.md --- pupnp-1.8-1.8.3/README.md 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/README.md 2018-10-25 14:41:00.000000000 +0000 @@ -66,8 +66,13 @@ 1.6.19 | 2013-11-15 | [Portable UPnP SDK][Portable UPnP SDK] 1.6.20 | 2016-07-07 | [Portable UPnP SDK][Portable UPnP SDK] 1.6.21 | 2016-12-21 | [Portable UPnP SDK][Portable UPnP SDK] -1.6.22 | 2017-??-?? | -1.8.0 | 2017-??-?? | +1.6.22 | 2017-05-30 | [Portable UPnP SDK][Portable UPnP SDK] +1.6.23 | 2017-11-19 | [Portable UPnP SDK][Portable UPnP SDK] +1.6.24 | 2017-11-19 | [Portable UPnP SDK][Portable UPnP SDK] +1.8.0 | 2017-01-04 | [Portable UPnP SDK][Portable UPnP SDK] +1.8.1 | 2017-05-24 | [Portable UPnP SDK][Portable UPnP SDK] +1.8.2 | 2017-11-12 | [Portable UPnP SDK][Portable UPnP SDK] +1.8.3 | 2017-11-12 | [Portable UPnP SDK][Portable UPnP SDK] [UPnP SDK for Linux]: https://sourceforge.net/projects/upnp/ [Portable UPnP SDK]: https://sourceforge.net/projects/pupnp/ diff -Nru pupnp-1.8-1.8.3/THANKS pupnp-1.8-1.8.4/THANKS --- pupnp-1.8-1.8.3/THANKS 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/THANKS 2018-10-25 14:41:00.000000000 +0000 @@ -39,6 +39,7 @@ - Iain Denniston (ectotropic) - Ingo Hofmann - Ivan Romanov (ivanromanov) +- James Cowgill (jcowgill at GitHub) - Jiri Zouhar - Jean-Francois Dockes (medoc) - John Dennis diff -Nru pupnp-1.8-1.8.3/.travis.yml pupnp-1.8-1.8.4/.travis.yml --- pupnp-1.8-1.8.3/.travis.yml 1970-01-01 00:00:00.000000000 +0000 +++ pupnp-1.8-1.8.4/.travis.yml 2018-10-25 14:41:00.000000000 +0000 @@ -0,0 +1,7 @@ +language: c +compiler: gcc +dist: trusty +script: + - ./bootstrap + - ./configure + - make distcheck diff -Nru pupnp-1.8-1.8.3/upnp/inc/ithread.h pupnp-1.8-1.8.4/upnp/inc/ithread.h --- pupnp-1.8-1.8.3/upnp/inc/ithread.h 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/upnp/inc/ithread.h 2018-10-25 14:41:00.000000000 +0000 @@ -3,32 +3,32 @@ /******************************************************************************* * - * 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: - * - * * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * * Neither name of Intel Corporation nor the names of its contributors - * may be used to endorse or promote products derived from this software + * 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: + * + * * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * * Neither name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * ******************************************************************************/ @@ -90,7 +90,7 @@ ***************************************************************************/ typedef pthread_t ithread_t; - + /**************************************************************************** * Name: ithread_attr_t * @@ -99,19 +99,19 @@ * typedef to pthread_attr_t * Internal Use Only ***************************************************************************/ -typedef pthread_attr_t ithread_attr_t; +typedef pthread_attr_t ithread_attr_t; /**************************************************************************** * Name: start_routine * * Description: - * Thread start routine + * Thread start routine * Internal Use Only. ***************************************************************************/ -typedef void *(*start_routine)(void *arg); +typedef void (*start_routine)(void *arg); + - /**************************************************************************** * Name: ithread_cond_t * @@ -131,7 +131,7 @@ * typedef to pthread_mutexattr_t * Internal Use Only ***************************************************************************/ -typedef pthread_mutexattr_t ithread_mutexattr_t; +typedef pthread_mutexattr_t ithread_mutexattr_t; /**************************************************************************** @@ -154,7 +154,7 @@ * NOT USED * Internal Use Only ***************************************************************************/ -typedef pthread_condattr_t ithread_condattr_t; +typedef pthread_condattr_t ithread_condattr_t; /**************************************************************************** @@ -166,7 +166,7 @@ * Internal Use Only ***************************************************************************/ #if UPNP_USE_RWLOCK -typedef pthread_rwlockattr_t ithread_rwlockattr_t; +typedef pthread_rwlockattr_t ithread_rwlockattr_t; #endif /* UPNP_USE_RWLOCK */ @@ -273,7 +273,7 @@ * Initializes a mutex attribute variable. * Used to set the type of the mutex. * Parameters: - * ithread_mutexattr_init * attr (must be valid non NULL pointer to + * ithread_mutexattr_init * attr (must be valid non NULL pointer to * pthread_mutexattr_t) * Returns: * 0 on success, Nonzero on failure. @@ -290,7 +290,7 @@ * Releases any resources held by the mutex attribute. * Currently there are no resources associated with the attribute * Parameters: - * ithread_mutexattr_t * attr (must be valid non NULL pointer to + * ithread_mutexattr_t * attr (must be valid non NULL pointer to * pthread_mutexattr_t) * Returns: * 0 on success, Nonzero on failure. @@ -298,19 +298,19 @@ * See man page for pthread_mutexattr_destroy ***************************************************************************/ #define ithread_mutexattr_destroy pthread_mutexattr_destroy - - + + /**************************************************************************** * Function: ithread_mutexattr_setkind_np * * Description: * Sets the mutex type in the attribute. - * Valid types are: ITHREAD_MUTEX_FAST_NP - * ITHREAD_MUTEX_RECURSIVE_NP + * Valid types are: ITHREAD_MUTEX_FAST_NP + * ITHREAD_MUTEX_RECURSIVE_NP * ITHREAD_MUTEX_ERRORCHECK_NP * * Parameters: - * ithread_mutexattr_t * attr (must be valid non NULL pointer to + * ithread_mutexattr_t * attr (must be valid non NULL pointer to * ithread_mutexattr_t) * int kind (one of ITHREAD_MUTEX_FAST_NP or ITHREAD_MUTEX_RECURSIVE_NP * or ITHREAD_MUTEX_ERRORCHECK_NP) @@ -330,12 +330,12 @@ * * Description: * Gets the mutex type in the attribute. - * Valid types are: ITHREAD_MUTEX_FAST_NP - * ITHREAD_MUTEX_RECURSIVE_NP + * Valid types are: ITHREAD_MUTEX_FAST_NP + * ITHREAD_MUTEX_RECURSIVE_NP * ITHREAD_MUTEX_ERRORCHECK_NP * * Parameters: - * ithread_mutexattr_t * attr (must be valid non NULL pointer to + * ithread_mutexattr_t * attr (must be valid non NULL pointer to * pthread_mutexattr_t) * int *kind (one of ITHREAD_MUTEX_FAST_NP or ITHREAD_MUTEX_RECURSIVE_NP * or ITHREAD_MUTEX_ERRORCHECK_NP) @@ -350,17 +350,17 @@ #define ithread_mutexattr_getkind_np pthread_mutexattr_getkind_np #endif /* UPNP_USE_RWLOCK */ - + /**************************************************************************** * Function: ithread_mutex_init * * Description: * Initializes mutex. * Must be called before use. - * + * * Parameters: * ithread_mutex_t * mutex (must be valid non NULL pointer to pthread_mutex_t) - * const ithread_mutexattr_t * mutex_attr + * const ithread_mutexattr_t * mutex_attr * Returns: * 0 on success, Nonzero on failure. * Always returns 0. @@ -377,14 +377,14 @@ * Parameters: * ithread_mutex_t * mutex (must be valid non NULL pointer to pthread_mutex_t) * mutex must be initialized. - * + * * Returns: * 0 on success, Nonzero on failure. * Always returns 0. * See man page for pthread_mutex_lock *****************************************************************************/ #define ithread_mutex_lock pthread_mutex_lock - + /**************************************************************************** * Function: ithread_mutex_unlock @@ -395,7 +395,7 @@ * Parameters: * ithread_mutex_t * mutex (must be valid non NULL pointer to pthread_mutex_t) * mutex must be initialized. - * + * * Returns: * 0 on success, Nonzero on failure. * Always returns 0. @@ -408,9 +408,9 @@ * Function: ithread_mutex_destroy * * Description: - * Releases any resources held by the mutex. + * Releases any resources held by the mutex. * Mutex can no longer be used after this call. - * Mutex is only destroyed when there are no longer any threads waiting on it. + * Mutex is only destroyed when there are no longer any threads waiting on it. * Mutex cannot be destroyed if it is locked. * Parameters: * ithread_mutex_t * mutex (must be valid non NULL pointer to pthread_mutex_t) @@ -429,7 +429,7 @@ * Description: * Initializes a rwlock attribute variable to default values. * Parameters: - * const ithread_rwlockattr_init *attr (must be valid non NULL pointer to + * const ithread_rwlockattr_init *attr (must be valid non NULL pointer to * pthread_rwlockattr_t) * Returns: * 0 on success, Nonzero on failure. @@ -447,7 +447,7 @@ * Description: * Releases any resources held by the rwlock attribute. * Parameters: - * ithread_rwlockattr_t *attr (must be valid non NULL pointer to + * ithread_rwlockattr_t *attr (must be valid non NULL pointer to * pthread_rwlockattr_t) * Returns: * 0 on success, Nonzero on failure. @@ -457,18 +457,18 @@ #if UPNP_USE_RWLOCK #define ithread_rwlockattr_destroy pthread_rwlockattr_destroy #endif /* UPNP_USE_RWLOCK */ - - + + /**************************************************************************** * Function: ithread_rwlockatttr_setpshared * * Description: * Sets the rwlock type in the attribute. - * Valid types are: ITHREAD_PROCESS_PRIVATE + * Valid types are: ITHREAD_PROCESS_PRIVATE * ITHREAD_PROCESS_SHARED * * Parameters: - * ithread_rwlockattr_t * attr (must be valid non NULL pointer to + * ithread_rwlockattr_t * attr (must be valid non NULL pointer to * ithread_rwlockattr_t) * int kind (one of ITHREAD_PROCESS_PRIVATE or ITHREAD_PROCESS_SHARED) * @@ -487,11 +487,11 @@ * * Description: * Gets the rwlock type in the attribute. - * Valid types are: ITHREAD_PROCESS_PRIVATE - * ITHREAD_PROCESS_SHARED + * Valid types are: ITHREAD_PROCESS_PRIVATE + * ITHREAD_PROCESS_SHARED * * Parameters: - * ithread_rwlockattr_t * attr (must be valid non NULL pointer to + * ithread_rwlockattr_t * attr (must be valid non NULL pointer to * pthread_rwlockattr_t) * int *kind (one of ITHREAD_PROCESS_PRIVATE or ITHREAD_PROCESS_SHARED) * @@ -504,17 +504,17 @@ #define ithread_rwlockatttr_getpshared pthread_rwlockatttr_getpshared #endif /* UPNP_USE_RWLOCK */ - + /**************************************************************************** * Function: ithread_rwlock_init * * Description: * Initializes rwlock. * Must be called before use. - * + * * Parameters: * ithread_rwlock_t *rwlock (must be valid non NULL pointer to pthread_rwlock_t) - * const ithread_rwlockattr_t *rwlock_attr + * const ithread_rwlockattr_t *rwlock_attr * Returns: * 0 on success, Nonzero on failure. * Always returns 0. @@ -535,7 +535,7 @@ * Parameters: * ithread_rwlock_t *rwlock (must be valid non NULL pointer to pthread_rwlock_t) * rwlock must be initialized. - * + * * Returns: * 0 on success, Nonzero on failure. * Always returns 0. @@ -556,7 +556,7 @@ * Parameters: * ithread_rwlock_t *rwlock (must be valid non NULL pointer to pthread_rwlock_t) * rwlock must be initialized. - * + * * Returns: * 0 on success, Nonzero on failure. * Always returns 0. @@ -579,7 +579,7 @@ * Parameters: * ithread_rwlock_t *rwlock (must be valid non NULL pointer to pthread_rwlock_t) * rwlock must be initialized. - * + * * Returns: * 0 on success, Nonzero on failure. * Always returns 0. @@ -597,9 +597,9 @@ * Function: ithread_rwlock_destroy * * Description: - * Releases any resources held by the rwlock. + * Releases any resources held by the rwlock. * rwlock can no longer be used after this call. - * rwlock is only destroyed when there are no longer any threads waiting on it. + * rwlock is only destroyed when there are no longer any threads waiting on it. * rwlock cannot be destroyed if it is locked. * Parameters: * ithread_rwlock_t *rwlock (must be valid non NULL pointer to pthread_rwlock_t) @@ -640,7 +640,7 @@ * Wakes up exactly one thread waiting on condition. * Associated mutex MUST be locked by thread before entering this call. * Parameters: - * ithread_cond_t *cond (must be valid non NULL pointer to + * ithread_cond_t *cond (must be valid non NULL pointer to * ithread_cond_t) * cond must be initialized * Returns: @@ -657,7 +657,7 @@ * Wakes up all threads waiting on condition. * Associated mutex MUST be locked by thread before entering this call. * Parameters: - * ithread_cond_t *cond (must be valid non NULL pointer to + * ithread_cond_t *cond (must be valid non NULL pointer to * ithread_cond_t) * cond must be initialized * Returns: @@ -665,7 +665,7 @@ * See man page for pthread_cond_broadcast *****************************************************************************/ #define ithread_cond_broadcast pthread_cond_broadcast - + /**************************************************************************** * Function: ithread_cond_wait @@ -675,10 +675,10 @@ * Associated mutex MUST be locked by thread before entering this call. * Mutex is reacquired when call returns. * Parameters: - * ithread_cond_t *cond (must be valid non NULL pointer to + * ithread_cond_t *cond (must be valid non NULL pointer to * ithread_cond_t) * cond must be initialized - * ithread_mutex_t *mutex (must be valid non NULL pointer to + * ithread_mutex_t *mutex (must be valid non NULL pointer to * ithread_mutex_t) * Mutex must be locked. * Returns: @@ -686,12 +686,12 @@ * See man page for pthread_cond_wait *****************************************************************************/ #define ithread_cond_wait pthread_cond_wait - + /**************************************************************************** * Function: pthread_cond_timedwait * - * Description: + * Description: * Atomically releases the associated mutex and waits on the * condition. * If the condition is not signaled in the specified time than the @@ -708,18 +708,18 @@ * 0 on success. ETIMEDOUT on timeout. Nonzero on failure. * See man page for pthread_cond_timedwait ***************************************************************************/ - + #define ithread_cond_timedwait pthread_cond_timedwait - + /**************************************************************************** * Function: ithread_cond_destroy * * Description: - * Releases any resources held by the condition variable. - * Condition variable can no longer be used after this call. + * Releases any resources held by the condition variable. + * Condition variable can no longer be used after this call. * Parameters: - * ithread_cond_t *cond (must be valid non NULL pointer to + * ithread_cond_t *cond (must be valid non NULL pointer to * ithread_cond_t) * cond must be initialized. * Returns: @@ -820,7 +820,7 @@ * See man page for pthread_cancel ***************************************************************************/ #define ithread_cancel pthread_cancel - + /**************************************************************************** * Function: ithread_exit @@ -863,40 +863,40 @@ * Function: ithread_detach * * Description: - * Makes a thread's resources reclaimed immediately + * Makes a thread's resources reclaimed immediately * after it finishes - * execution. + * execution. * Returns: * 0 on success, Nonzero on failure. * See man page for pthread_detach ***************************************************************************/ -#define ithread_detach pthread_detach +#define ithread_detach pthread_detach /**************************************************************************** * Function: ithread_join * * Description: - * Suspends the currently running thread until the + * Suspends the currently running thread until the * specified thread - * has finished. - * Returns the return code of the thread, or ITHREAD_CANCELED + * has finished. + * Returns the return code of the thread, or ITHREAD_CANCELED * if the thread has been canceled. * Parameters: * ithread_t *thread (valid non null thread identifier) - * void ** return (space for return code) + * void ** return (space for return code) * Returns: * 0 on success, Nonzero on failure. * See man page for pthread_join ***************************************************************************/ #define ithread_join pthread_join - + /**************************************************************************** * Function: isleep * * Description: - * Suspends the currently running thread for the specified number + * Suspends the currently running thread for the specified number * of seconds * Always returns 0. * Parameters: @@ -916,7 +916,7 @@ * Function: isleep * * Description: - * Suspends the currently running thread for the specified number + * Suspends the currently running thread for the specified number * of milliseconds * Always returns 0. * Parameters: diff -Nru pupnp-1.8-1.8.3/upnp/inc/list.h pupnp-1.8-1.8.4/upnp/inc/list.h --- pupnp-1.8-1.8.3/upnp/inc/list.h 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/upnp/inc/list.h 2018-10-25 14:41:00.000000000 +0000 @@ -2,8 +2,11 @@ #define _LINUX_LIST_H #if 0 +#include #include #include +#include +#include #include #include #endif @@ -17,6 +20,31 @@ #undef INIT_LIST_HEAD #endif +#include "UpnpGlobal.h" /* For UPNP_INLINE */ + +#define bool int +#define true !0 + +#undef READ_ONCE +#define READ_ONCE(x) x + +#undef WRITE_ONCE +#define WRITE_ONCE(x,y) x = y + +#undef offsetof +#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER) + +/** + * container_of - cast a member of a structure out to the containing structure + * @ptr: the pointer to the member. + * @type: the type of the container struct this is embedded in. + * @member: the name of the member within the struct. + * + */ +#define container_of(ptr, type, member) ({ \ + const typeof( ((type *)0)->member ) *__mptr = (ptr); \ + (type *)( (char *)__mptr - offsetof(type,member) );}) + /* * Simple doubly linked list implementation. * @@ -31,6 +59,14 @@ struct list_head *next, *prev; }; +struct hlist_head { + struct hlist_node *first; +}; + +struct hlist_node { + struct hlist_node *next, **pprev; +}; + #define LIST_HEAD_INIT(name) { &(name), &(name) } #define LIST_HEAD(name) \ @@ -38,57 +74,74 @@ static UPNP_INLINE void INIT_LIST_HEAD(struct list_head *list) { - list->next = list; + WRITE_ONCE(list->next, list); list->prev = list; } +#ifdef CONFIG_DEBUG_LIST +extern bool __list_add_valid(struct list_head *newent, + struct list_head *prev, + struct list_head *next); +extern bool __list_del_entry_valid(struct list_head *entry); +#else +static UPNP_INLINE bool __list_add_valid(struct list_head *newent, + struct list_head *prev, + struct list_head *next) +{ + return true; + newent++; prev++; next++; /* against compiler warnings */ +} +static UPNP_INLINE bool __list_del_entry_valid(struct list_head *entry) +{ + return true; + entry++; /* against compiler warnings */ +} +#endif + /* * Insert a new entry between two known consecutive entries. * * This is only for internal list manipulation where we know * the prev/next entries already! */ -#ifndef CONFIG_DEBUG_LIST -static UPNP_INLINE void __list_add(struct list_head *new_, +static UPNP_INLINE void __list_add(struct list_head *newent, struct list_head *prev, struct list_head *next) { - next->prev = new_; - new_->next = next; - new_->prev = prev; - prev->next = new_; + if (!__list_add_valid(newent, prev, next)) + return; + + next->prev = newent; + newent->next = next; + newent->prev = prev; + WRITE_ONCE(prev->next, newent); } -#else -extern void __list_add(struct list_head *new_, - struct list_head *prev, - struct list_head *next); -#endif /** * list_add - add a new entry - * @new_: new entry to be added + * @newent: new entry to be added * @head: list head to add it after * * Insert a new entry after the specified head. * This is good for implementing stacks. */ -static UPNP_INLINE void list_add(struct list_head *new_, struct list_head *head) +static UPNP_INLINE void list_add(struct list_head *newent, struct list_head *head) { - __list_add(new_, head, head->next); + __list_add(newent, head, head->next); } /** * list_add_tail - add a new entry - * @new_: new entry to be added + * @newent: new entry to be added * @head: list head to add it before * * Insert a new entry before the specified head. * This is useful for implementing queues. */ -static UPNP_INLINE void list_add_tail(struct list_head *new_, struct list_head *head) +static UPNP_INLINE void list_add_tail(struct list_head *newent, struct list_head *head) { - __list_add(new_, head->prev, head); + __list_add(newent, head->prev, head); } /* @@ -101,7 +154,7 @@ static UPNP_INLINE void __list_del(struct list_head * prev, struct list_head * next) { next->prev = prev; - prev->next = next; + WRITE_ONCE(prev->next, next); } /** @@ -110,37 +163,41 @@ * Note: list_empty() on entry does not return true after this, the entry is * in an undefined state. */ -#ifndef CONFIG_DEBUG_LIST -static UPNP_INLINE void list_del(struct list_head *entry) +static UPNP_INLINE void __list_del_entry(struct list_head *entry) { + if (!__list_del_entry_valid(entry)) + return; + __list_del(entry->prev, entry->next); - entry->next = (struct list_head *)LIST_POISON1; - entry->prev = (struct list_head *)LIST_POISON2; } -#else -extern void list_del(struct list_head *entry); -#endif + +static UPNP_INLINE void list_del(struct list_head *entry) +{ + __list_del_entry(entry); + entry->next = (struct list_head*)LIST_POISON1; + entry->prev = (struct list_head*)LIST_POISON2; +} /** * list_replace - replace old entry by new one * @old : the element to be replaced - * @new_ : the new element to insert + * @newent : the new element to insert * * If @old was empty, it will be overwritten. */ static UPNP_INLINE void list_replace(struct list_head *old, - struct list_head *new_) + struct list_head *newent) { - new_->next = old->next; - new_->next->prev = new_; - new_->prev = old->prev; - new_->prev->next = new_; + newent->next = old->next; + newent->next->prev = newent; + newent->prev = old->prev; + newent->prev->next = newent; } static UPNP_INLINE void list_replace_init(struct list_head *old, - struct list_head *new_) + struct list_head *newent) { - list_replace(old, new_); + list_replace(old, newent); INIT_LIST_HEAD(old); } @@ -150,7 +207,7 @@ */ static UPNP_INLINE void list_del_init(struct list_head *entry) { - __list_del(entry->prev, entry->next); + __list_del_entry(entry); INIT_LIST_HEAD(entry); } @@ -161,7 +218,7 @@ */ static UPNP_INLINE void list_move(struct list_head *list, struct list_head *head) { - __list_del(list->prev, list->next); + __list_del_entry(list); list_add(list, head); } @@ -173,7 +230,7 @@ static UPNP_INLINE void list_move_tail(struct list_head *list, struct list_head *head) { - __list_del(list->prev, list->next); + __list_del_entry(list); list_add_tail(list, head); } @@ -194,7 +251,7 @@ */ static UPNP_INLINE int list_empty(const struct list_head *head) { - return head->next == head; + return READ_ONCE(head->next) == head; } /** @@ -354,7 +411,7 @@ * list_entry - get the struct for this entry * @ptr: the &struct list_head pointer. * @type: the type of the struct this is embedded in. - * @member: the name of the list_struct within the struct. + * @member: the name of the list_head within the struct. */ #define list_entry(ptr, type, member) \ container_of(ptr, type, member) @@ -363,7 +420,7 @@ * list_first_entry - get the first element from a list * @ptr: the list head to take the element from. * @type: the type of the struct this is embedded in. - * @member: the name of the list_struct within the struct. + * @member: the name of the list_head within the struct. * * Note, that list is expected to be not empty. */ @@ -371,25 +428,52 @@ list_entry((ptr)->next, type, member) /** - * list_for_each - iterate over a list - * @pos: the &struct list_head to use as a loop cursor. - * @head: the head for your list. + * list_last_entry - get the last element from a list + * @ptr: the list head to take the element from. + * @type: the type of the struct this is embedded in. + * @member: the name of the list_head within the struct. + * + * Note, that list is expected to be not empty. */ -#define list_for_each(pos, head) \ - for (pos = (head)->next; prefetch(pos->next), pos != (head); \ - pos = pos->next) +#define list_last_entry(ptr, type, member) \ + list_entry((ptr)->prev, type, member) + +/** + * list_first_entry_or_null - get the first element from a list + * @ptr: the list head to take the element from. + * @type: the type of the struct this is embedded in. + * @member: the name of the list_head within the struct. + * + * Note that if the list is empty, it returns NULL. + */ +#define list_first_entry_or_null(ptr, type, member) ({ \ + struct list_head *head__ = (ptr); \ + struct list_head *pos__ = READ_ONCE(head__->next); \ + pos__ != head__ ? list_entry(pos__, type, member) : NULL; \ +}) + +/** + * list_next_entry - get the next element in list + * @pos: the type * to cursor + * @member: the name of the list_head within the struct. + */ +#define list_next_entry(pos, member) \ + list_entry((pos)->member.next, typeof(*(pos)), member) /** - * __list_for_each - iterate over a list + * list_prev_entry - get the prev element in list + * @pos: the type * to cursor + * @member: the name of the list_head within the struct. + */ +#define list_prev_entry(pos, member) \ + list_entry((pos)->member.prev, typeof(*(pos)), member) + +/** + * list_for_each - iterate over a list * @pos: the &struct list_head to use as a loop cursor. * @head: the head for your list. - * - * This variant differs from list_for_each() in that it's the - * simplest possible list iteration code, no prefetching is done. - * Use this for code that knows the list to be very short (empty - * or 1 entry) most of the time. */ -#define __list_for_each(pos, head) \ +#define list_for_each(pos, head) \ for (pos = (head)->next; pos != (head); pos = pos->next) /** @@ -398,8 +482,7 @@ * @head: the head for your list. */ #define list_for_each_prev(pos, head) \ - for (pos = (head)->prev; prefetch(pos->prev), pos != (head); \ - pos = pos->prev) + for (pos = (head)->prev; pos != (head); pos = pos->prev) /** * list_for_each_safe - iterate over a list safe against removal of list entry @@ -419,36 +502,36 @@ */ #define list_for_each_prev_safe(pos, n, head) \ for (pos = (head)->prev, n = pos->prev; \ - prefetch(pos->prev), pos != (head); \ + pos != (head); \ pos = n, n = pos->prev) /** * list_for_each_entry - iterate over list of given type * @pos: the type * to use as a loop cursor. * @head: the head for your list. - * @member: the name of the list_struct within the struct. + * @member: the name of the list_head within the struct. */ #define list_for_each_entry(pos, head, member) \ - for (pos = list_entry((head)->next, typeof(*pos), member); \ - prefetch(pos->member.next), &pos->member != (head); \ - pos = list_entry(pos->member.next, typeof(*pos), member)) + for (pos = list_first_entry(head, typeof(*pos), member); \ + &pos->member != (head); \ + pos = list_next_entry(pos, member)) /** * list_for_each_entry_reverse - iterate backwards over list of given type. * @pos: the type * to use as a loop cursor. * @head: the head for your list. - * @member: the name of the list_struct within the struct. + * @member: the name of the list_head within the struct. */ #define list_for_each_entry_reverse(pos, head, member) \ - for (pos = list_entry((head)->prev, typeof(*pos), member); \ - prefetch(pos->member.prev), &pos->member != (head); \ - pos = list_entry(pos->member.prev, typeof(*pos), member)) + for (pos = list_last_entry(head, typeof(*pos), member); \ + &pos->member != (head); \ + pos = list_prev_entry(pos, member)) /** * list_prepare_entry - prepare a pos entry for use in list_for_each_entry_continue() * @pos: the type * to use as a start point * @head: the head of the list - * @member: the name of the list_struct within the struct. + * @member: the name of the list_head within the struct. * * Prepares a pos entry for use as a start point in list_for_each_entry_continue(). */ @@ -459,101 +542,129 @@ * list_for_each_entry_continue - continue iteration over list of given type * @pos: the type * to use as a loop cursor. * @head: the head for your list. - * @member: the name of the list_struct within the struct. + * @member: the name of the list_head within the struct. * * Continue to iterate over list of given type, continuing after * the current position. */ #define list_for_each_entry_continue(pos, head, member) \ - for (pos = list_entry(pos->member.next, typeof(*pos), member); \ - prefetch(pos->member.next), &pos->member != (head); \ - pos = list_entry(pos->member.next, typeof(*pos), member)) + for (pos = list_next_entry(pos, member); \ + &pos->member != (head); \ + pos = list_next_entry(pos, member)) /** * list_for_each_entry_continue_reverse - iterate backwards from the given point * @pos: the type * to use as a loop cursor. * @head: the head for your list. - * @member: the name of the list_struct within the struct. + * @member: the name of the list_head within the struct. * * Start to iterate over list of given type backwards, continuing after * the current position. */ #define list_for_each_entry_continue_reverse(pos, head, member) \ - for (pos = list_entry(pos->member.prev, typeof(*pos), member); \ - prefetch(pos->member.prev), &pos->member != (head); \ - pos = list_entry(pos->member.prev, typeof(*pos), member)) + for (pos = list_prev_entry(pos, member); \ + &pos->member != (head); \ + pos = list_prev_entry(pos, member)) /** * list_for_each_entry_from - iterate over list of given type from the current point * @pos: the type * to use as a loop cursor. * @head: the head for your list. - * @member: the name of the list_struct within the struct. + * @member: the name of the list_head within the struct. * * Iterate over list of given type, continuing from current position. */ #define list_for_each_entry_from(pos, head, member) \ - for (; prefetch(pos->member.next), &pos->member != (head); \ - pos = list_entry(pos->member.next, typeof(*pos), member)) + for (; &pos->member != (head); \ + pos = list_next_entry(pos, member)) + +/** + * list_for_each_entry_from_reverse - iterate backwards over list of given type + * from the current point + * @pos: the type * to use as a loop cursor. + * @head: the head for your list. + * @member: the name of the list_head within the struct. + * + * Iterate backwards over list of given type, continuing from current position. + */ +#define list_for_each_entry_from_reverse(pos, head, member) \ + for (; &pos->member != (head); \ + pos = list_prev_entry(pos, member)) /** * list_for_each_entry_safe - iterate over list of given type safe against removal of list entry * @pos: the type * to use as a loop cursor. * @n: another type * to use as temporary storage * @head: the head for your list. - * @member: the name of the list_struct within the struct. + * @member: the name of the list_head within the struct. */ #define list_for_each_entry_safe(pos, n, head, member) \ - for (pos = list_entry((head)->next, typeof(*pos), member), \ - n = list_entry(pos->member.next, typeof(*pos), member); \ + for (pos = list_first_entry(head, typeof(*pos), member), \ + n = list_next_entry(pos, member); \ &pos->member != (head); \ - pos = n, n = list_entry(n->member.next, typeof(*n), member)) + pos = n, n = list_next_entry(n, member)) /** * list_for_each_entry_safe_continue - continue list iteration safe against removal * @pos: the type * to use as a loop cursor. * @n: another type * to use as temporary storage * @head: the head for your list. - * @member: the name of the list_struct within the struct. + * @member: the name of the list_head within the struct. * * Iterate over list of given type, continuing after current point, * safe against removal of list entry. */ #define list_for_each_entry_safe_continue(pos, n, head, member) \ - for (pos = list_entry(pos->member.next, typeof(*pos), member), \ - n = list_entry(pos->member.next, typeof(*pos), member); \ + for (pos = list_next_entry(pos, member), \ + n = list_next_entry(pos, member); \ &pos->member != (head); \ - pos = n, n = list_entry(n->member.next, typeof(*n), member)) + pos = n, n = list_next_entry(n, member)) /** * list_for_each_entry_safe_from - iterate over list from current point safe against removal * @pos: the type * to use as a loop cursor. * @n: another type * to use as temporary storage * @head: the head for your list. - * @member: the name of the list_struct within the struct. + * @member: the name of the list_head within the struct. * * Iterate over list of given type from current point, safe against * removal of list entry. */ #define list_for_each_entry_safe_from(pos, n, head, member) \ - for (n = list_entry(pos->member.next, typeof(*pos), member); \ + for (n = list_next_entry(pos, member); \ &pos->member != (head); \ - pos = n, n = list_entry(n->member.next, typeof(*n), member)) + pos = n, n = list_next_entry(n, member)) /** * list_for_each_entry_safe_reverse - iterate backwards over list safe against removal * @pos: the type * to use as a loop cursor. * @n: another type * to use as temporary storage * @head: the head for your list. - * @member: the name of the list_struct within the struct. + * @member: the name of the list_head within the struct. * * Iterate backwards over list of given type, safe against removal * of list entry. */ #define list_for_each_entry_safe_reverse(pos, n, head, member) \ - for (pos = list_entry((head)->prev, typeof(*pos), member), \ - n = list_entry(pos->member.prev, typeof(*pos), member); \ + for (pos = list_last_entry(head, typeof(*pos), member), \ + n = list_prev_entry(pos, member); \ &pos->member != (head); \ - pos = n, n = list_entry(n->member.prev, typeof(*n), member)) + pos = n, n = list_prev_entry(n, member)) + +/** + * list_safe_reset_next - reset a stale list_for_each_entry_safe loop + * @pos: the loop cursor used in the list_for_each_entry_safe loop + * @n: temporary storage used in list_for_each_entry_safe + * @member: the name of the list_head within the struct. + * + * list_safe_reset_next is not safe to use in general if the list may be + * modified concurrently (eg. the lock is dropped in the loop body). An + * exception to this is if the cursor element (pos) is pinned in the list, + * and list_safe_reset_next is called after re-taking the lock and before + * completing the current iteration of the loop body. + */ +#define list_safe_reset_next(pos, n, member) \ + n = list_next_entry(pos, member) /* * Double linked lists with a single pointer list head. @@ -562,14 +673,6 @@ * You lose the ability to access the tail in O(1). */ -struct hlist_head { - struct hlist_node *first; -}; - -struct hlist_node { - struct hlist_node *next, **pprev; -}; - #define HLIST_HEAD_INIT { .first = NULL } #define HLIST_HEAD(name) struct hlist_head name = { .first = NULL } #define INIT_HLIST_HEAD(ptr) ((ptr)->first = NULL) @@ -586,14 +689,15 @@ static UPNP_INLINE int hlist_empty(const struct hlist_head *h) { - return !h->first; + return !READ_ONCE(h->first); } static UPNP_INLINE void __hlist_del(struct hlist_node *n) { struct hlist_node *next = n->next; struct hlist_node **pprev = n->pprev; - *pprev = next; + + WRITE_ONCE(*pprev, next); if (next) next->pprev = pprev; } @@ -601,8 +705,8 @@ static UPNP_INLINE void hlist_del(struct hlist_node *n) { __hlist_del(n); - n->next = (struct hlist_node *)LIST_POISON1; - n->pprev = (struct hlist_node **)LIST_POISON2; + n->next = (struct hlist_node*)LIST_POISON1; + n->pprev = (struct hlist_node**)LIST_POISON2; } static UPNP_INLINE void hlist_del_init(struct hlist_node *n) @@ -619,7 +723,7 @@ n->next = first; if (first) first->pprev = &n->next; - h->first = n; + WRITE_ONCE(h->first, n); n->pprev = &h->first; } @@ -630,18 +734,39 @@ n->pprev = next->pprev; n->next = next; next->pprev = &n->next; - *(n->pprev) = n; + WRITE_ONCE(*(n->pprev), n); } -static UPNP_INLINE void hlist_add_after(struct hlist_node *n, - struct hlist_node *next) +static UPNP_INLINE void hlist_add_behind(struct hlist_node *n, + struct hlist_node *prev) { - next->next = n->next; - n->next = next; - next->pprev = &n->next; + n->next = prev->next; + WRITE_ONCE(prev->next, n); + n->pprev = &prev->next; + + if (n->next) + n->next->pprev = &n->next; +} - if(next->next) - next->next->pprev = &next->next; +/* after that we'll appear to be on some hlist and hlist_del will work */ +static UPNP_INLINE void hlist_add_fake(struct hlist_node *n) +{ + n->pprev = &n->next; +} + +static UPNP_INLINE bool hlist_fake(struct hlist_node *h) +{ + return h->pprev == &h->next; +} + +/* + * Check whether the node is the only node of the head without + * accessing head: + */ +static UPNP_INLINE bool +hlist_is_singular_node(struct hlist_node *n, struct hlist_head *h) +{ + return !n->next && n->pprev == &h->first; } /* @@ -649,72 +774,70 @@ * reference of the first entry if it exists. */ static UPNP_INLINE void hlist_move_list(struct hlist_head *old, - struct hlist_head *new_) + struct hlist_head *newent) { - new_->first = old->first; - if (new_->first) - new_->first->pprev = &new_->first; + newent->first = old->first; + if (newent->first) + newent->first->pprev = &newent->first; old->first = NULL; } #define hlist_entry(ptr, type, member) container_of(ptr,type,member) #define hlist_for_each(pos, head) \ - for (pos = (head)->first; pos && ({ prefetch(pos->next); 1; }); \ - pos = pos->next) + for (pos = (head)->first; pos ; pos = pos->next) #define hlist_for_each_safe(pos, n, head) \ for (pos = (head)->first; pos && ({ n = pos->next; 1; }); \ pos = n) +#define hlist_entry_safe(ptr, type, member) \ + ({ typeof(ptr) ____ptr = (ptr); \ + ____ptr ? hlist_entry(____ptr, type, member) : NULL; \ + }) + /** * hlist_for_each_entry - iterate over list of given type - * @tpos: the type * to use as a loop cursor. - * @pos: the &struct hlist_node to use as a loop cursor. + * @pos: the type * to use as a loop cursor. * @head: the head for your list. * @member: the name of the hlist_node within the struct. */ -#define hlist_for_each_entry(tpos, pos, head, member) \ - for (pos = (head)->first; \ - pos && ({ prefetch(pos->next); 1;}) && \ - ({ tpos = hlist_entry(pos, typeof(*tpos), member); 1;}); \ - pos = pos->next) +#define hlist_for_each_entry(pos, head, member) \ + for (pos = hlist_entry_safe((head)->first, typeof(*(pos)), member);\ + pos; \ + pos = hlist_entry_safe((pos)->member.next, typeof(*(pos)), member)) /** * hlist_for_each_entry_continue - iterate over a hlist continuing after current point - * @tpos: the type * to use as a loop cursor. - * @pos: the &struct hlist_node to use as a loop cursor. + * @pos: the type * to use as a loop cursor. * @member: the name of the hlist_node within the struct. */ -#define hlist_for_each_entry_continue(tpos, pos, member) \ - for (pos = (pos)->next; \ - pos && ({ prefetch(pos->next); 1;}) && \ - ({ tpos = hlist_entry(pos, typeof(*tpos), member); 1;}); \ - pos = pos->next) +#define hlist_for_each_entry_continue(pos, member) \ + for (pos = hlist_entry_safe((pos)->member.next, typeof(*(pos)), member);\ + pos; \ + pos = hlist_entry_safe((pos)->member.next, typeof(*(pos)), member)) /** * hlist_for_each_entry_from - iterate over a hlist continuing from current point - * @tpos: the type * to use as a loop cursor. - * @pos: the &struct hlist_node to use as a loop cursor. + * @pos: the type * to use as a loop cursor. * @member: the name of the hlist_node within the struct. */ -#define hlist_for_each_entry_from(tpos, pos, member) \ - for (; pos && ({ prefetch(pos->next); 1;}) && \ - ({ tpos = hlist_entry(pos, typeof(*tpos), member); 1;}); \ - pos = pos->next) +#define hlist_for_each_entry_from(pos, member) \ + for (; pos; \ + pos = hlist_entry_safe((pos)->member.next, typeof(*(pos)), member)) /** * hlist_for_each_entry_safe - iterate over list of given type safe against removal of list entry - * @tpos: the type * to use as a loop cursor. - * @pos: the &struct hlist_node to use as a loop cursor. + * @pos: the type * to use as a loop cursor. * @n: another &struct hlist_node to use as temporary storage * @head: the head for your list. * @member: the name of the hlist_node within the struct. */ -#define hlist_for_each_entry_safe(tpos, pos, n, head, member) \ - for (pos = (head)->first; \ - pos && ({ n = pos->next; 1; }) && \ - ({ tpos = hlist_entry(pos, typeof(*tpos), member); 1;}); \ - pos = n) +#define hlist_for_each_entry_safe(pos, n, head, member) \ + for (pos = hlist_entry_safe((head)->first, typeof(*pos), member);\ + pos && ({ n = pos->member.next; 1; }); \ + pos = hlist_entry_safe(n, typeof(*pos), member)) +#undef bool +#undef true #endif diff -Nru pupnp-1.8-1.8.3/upnp/inc/upnpdebug.h pupnp-1.8-1.8.4/upnp/inc/upnpdebug.h --- pupnp-1.8-1.8.3/upnp/inc/upnpdebug.h 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/upnp/inc/upnpdebug.h 2018-10-25 14:41:00.000000000 +0000 @@ -37,7 +37,6 @@ * \file */ -#include "ThreadPool.h" #include "upnpconfig.h" #include "UpnpGlobal.h" /* for UPNP_INLINE */ diff -Nru pupnp-1.8-1.8.3/upnp/inc/upnp.h pupnp-1.8-1.8.4/upnp/inc/upnp.h --- pupnp-1.8-1.8.3/upnp/inc/upnp.h 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/upnp/inc/upnp.h 2018-10-25 14:41:00.000000000 +0000 @@ -998,10 +998,9 @@ * \brief Unregisters a control point application, unsubscribing all active * subscriptions. * - * This function unregisters a client registered with UpnpRegisterclient or - * UpnpRegisterclient2. After this call, the \b UpnpClient_Handle is no longer - * valid. The UPnP Library generates no more callbacks after this function - * returns. + * This function unregisters a client registered with UpnpRegisterClient. After + * this call, the \b UpnpClient_Handle is no longer valid. The UPnP Library + * generates no more callbacks after this function returns. * * \b UpnpUnRegisterClient is a synchronous call and generates no * callbacks. diff -Nru pupnp-1.8-1.8.3/upnp/LICENSE pupnp-1.8-1.8.4/upnp/LICENSE --- pupnp-1.8-1.8.3/upnp/LICENSE 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/upnp/LICENSE 1970-01-01 00:00:00.000000000 +0000 @@ -1,27 +0,0 @@ -Copyright (c) 2000-2003 Intel Corporation -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -* Neither name of Intel Corporation nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL OR -CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY -OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - diff -Nru pupnp-1.8-1.8.3/upnp/Makefile.am pupnp-1.8-1.8.4/upnp/Makefile.am --- pupnp-1.8-1.8.3/upnp/Makefile.am 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/upnp/Makefile.am 2018-10-25 14:41:00.000000000 +0000 @@ -203,12 +203,7 @@ EXTRA_DIST = \ - LICENSE \ m4/libupnp.m4 \ src/win_dll.c - -CLEANFILES = \ - IUpnpErrFile.txt \ - IUpnpInfoFile.txt - +CLEANFILES = libupnp_err.log libupnp_info.log diff -Nru pupnp-1.8-1.8.3/upnp/sample/Makefile.am pupnp-1.8-1.8.4/upnp/sample/Makefile.am --- pupnp-1.8-1.8.3/upnp/sample/Makefile.am 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/upnp/sample/Makefile.am 2018-10-25 14:41:00.000000000 +0000 @@ -60,13 +60,6 @@ common/tv_device.h \ linux/tv_combo_main.c -if WITH_DOCUMENTATION -examplesdir = $(docdir)/examples -examples_DATA = \ - $(tv_ctrlpt_SOURCES) \ - $(tv_device_SOURCES) -endif - EXTRA_DIST = \ web/tvcombodesc.xml \ web/tvcontrolSCPD.xml \ diff -Nru pupnp-1.8-1.8.3/upnp/src/api/upnpapi.c pupnp-1.8-1.8.4/upnp/src/api/upnpapi.c --- pupnp-1.8-1.8.3/upnp/src/api/upnpapi.c 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/upnp/src/api/upnpapi.c 2018-10-25 14:41:00.000000000 +0000 @@ -664,19 +664,11 @@ PrintThreadPoolStats(&gMiniServerThreadPool, __FILE__, __LINE__, "MiniServer Thread Pool"); #ifdef INCLUDE_DEVICE_APIS - switch (GetDeviceHandleInfo(AF_INET, &device_handle, &temp)) { - case HND_DEVICE: + while (GetDeviceHandleInfo(0, AF_INET, &device_handle, &temp) == HND_DEVICE) { UpnpUnRegisterRootDevice(device_handle); - break; - default: - break; } - switch (GetDeviceHandleInfo(AF_INET6, &device_handle, &temp)) { - case HND_DEVICE: + while (GetDeviceHandleInfo(0, AF_INET6, &device_handle, &temp) == HND_DEVICE) { UpnpUnRegisterRootDevice(device_handle); - break; - default: - break; } #endif #ifdef INCLUDE_CLIENT_APIS @@ -851,11 +843,6 @@ goto exit_function; } - if (UpnpSdkDeviceRegisteredV4 == 1) { - retVal = UPNP_E_ALREADY_REGISTERED; - goto exit_function; - } - *Hnd = GetFreeHandle(); if (*Hnd == UPNP_E_OUTOF_HANDLE) { retVal = UPNP_E_OUTOF_MEMORY; @@ -1017,11 +1004,6 @@ goto exit_function; } - if (UpnpSdkDeviceRegisteredV4 == 1) { - retVal = UPNP_E_ALREADY_REGISTERED; - goto exit_function; - } - *Hnd = GetFreeHandle(); if (*Hnd == UPNP_E_OUTOF_HANDLE) { retVal = UPNP_E_OUTOF_MEMORY; @@ -1161,7 +1143,6 @@ #if EXCLUDE_GENA == 0 int hasServiceTable = 0; #endif /* EXCLUDE_GENA */ - int handler_index = 0; HandleLock(); @@ -1179,21 +1160,6 @@ retVal = UPNP_E_INVALID_PARAM; goto exit_function; } - /* Test for already regsitered IPV4. */ - if (AddressFamily == AF_INET && UpnpSdkDeviceRegisteredV4 == 1) { - retVal = UPNP_E_ALREADY_REGISTERED; - goto exit_function; - } - /* Test for already registered IPV6. IPV6 devices might register on multiple - * IPv6 addresses (link local and GUA or ULA), so we must to check the - * description URL in the HandleTable. */ - while (handler_index < NUM_HANDLE && HandleTable[handler_index] != NULL) { - if (strcmp(((struct Handle_Info *)HandleTable[handler_index])->DescURL, DescUrl)) { - retVal = UPNP_E_ALREADY_REGISTERED; - goto exit_function; - } - handler_index++; - } *Hnd = GetFreeHandle(); if (*Hnd == UPNP_E_OUTOF_HANDLE) { retVal = UPNP_E_OUTOF_MEMORY; @@ -3859,6 +3825,7 @@ Upnp_Handle_Type GetDeviceHandleInfo( + UpnpDevice_Handle start, int AddressFamily, UpnpDevice_Handle *device_handle_out, struct Handle_Info **HndInfo) @@ -3870,13 +3837,53 @@ *device_handle_out = -1; return HND_INVALID; } + if (start < 0 || start >= NUM_HANDLE-1) { + *device_handle_out = -1; + return HND_INVALID; + } + ++start; + /* Find it. */ + for (*device_handle_out=start; *device_handle_out < NUM_HANDLE; (*device_handle_out)++) { + switch (GetHandleInfo(*device_handle_out, HndInfo)) { + case HND_DEVICE: + if ((*HndInfo)->DeviceAf == AddressFamily) { + return HND_DEVICE; + } + break; + default: + break; + } + } +#endif /* INCLUDE_DEVICE_APIS */ + + *device_handle_out = -1; + return HND_INVALID; +} +Upnp_Handle_Type GetDeviceHandleInfoForPath( + const char *path, + int AddressFamily, + UpnpDevice_Handle *device_handle_out, + struct Handle_Info **HndInfo, + service_info **serv_info + ) +{ +#ifdef INCLUDE_DEVICE_APIS + /* Check if we've got a registered device of the address family specified. */ + if ((AddressFamily == AF_INET && UpnpSdkDeviceRegisteredV4 == 0) || + (AddressFamily == AF_INET6 && UpnpSdkDeviceregisteredV6 == 0)) { + *device_handle_out = -1; + return HND_INVALID; + } /* Find it. */ for (*device_handle_out=1; *device_handle_out < NUM_HANDLE; (*device_handle_out)++) { switch (GetHandleInfo(*device_handle_out, HndInfo)) { case HND_DEVICE: if ((*HndInfo)->DeviceAf == AddressFamily) { - return HND_DEVICE; + if ((*serv_info = FindServiceControlURLPath(&(*HndInfo)->ServiceTable, path)) || + (*serv_info = FindServiceEventURLPath(&(*HndInfo)->ServiceTable, path))) { + return HND_DEVICE; + } } break; default: diff -Nru pupnp-1.8-1.8.3/upnp/src/api/upnpdebug.c pupnp-1.8-1.8.4/upnp/src/api/upnpdebug.c --- pupnp-1.8-1.8.3/upnp/src/api/upnpdebug.c 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/upnp/src/api/upnpdebug.c 2018-10-25 14:41:00.000000000 +0000 @@ -40,6 +40,7 @@ #include "upnp.h" #include "upnpdebug.h" +#include #include #include #include diff -Nru pupnp-1.8-1.8.3/upnp/src/gena/gena_device.c pupnp-1.8-1.8.4/upnp/src/gena/gena_device.c --- pupnp-1.8-1.8.3/upnp/src/gena/gena_device.c 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/upnp/src/gena/gena_device.c 2018-10-25 14:41:00.000000000 +0000 @@ -1172,15 +1172,13 @@ HandleLock(); - /* CURRENTLY, ONLY ONE DEVICE */ - if (GetDeviceHandleInfo(info->foreign_sockaddr.ss_family , - &device_handle, &handle_info) != HND_DEVICE) { + if (GetDeviceHandleInfoForPath(event_url_path, info->foreign_sockaddr.ss_family, + &device_handle, &handle_info, &service) != HND_DEVICE) { free(event_url_path); error_respond(info, HTTP_INTERNAL_SERVER_ERROR, request); HandleUnlock(); goto exit_function; } - service = FindServiceEventURLPath(&handle_info->ServiceTable, event_url_path); free(event_url_path); if (service == NULL || !service->active) { @@ -1346,16 +1344,13 @@ HandleLock(); - /* CURRENTLY, ONLY SUPPORT ONE DEVICE */ - if( GetDeviceHandleInfo( info->foreign_sockaddr.ss_family, - &device_handle, &handle_info ) != HND_DEVICE ) { + if (GetDeviceHandleInfoForPath(event_url_path.buf, info->foreign_sockaddr.ss_family, + &device_handle, &handle_info, &service) != HND_DEVICE ) { error_respond( info, HTTP_PRECONDITION_FAILED, request ); membuffer_destroy( &event_url_path ); HandleUnlock(); return; } - service = FindServiceEventURLPath( &handle_info->ServiceTable, - event_url_path.buf ); membuffer_destroy( &event_url_path ); /* get subscription */ @@ -1457,16 +1452,13 @@ HandleLock(); - /* CURRENTLY, ONLY SUPPORT ONE DEVICE */ - if( GetDeviceHandleInfo( info->foreign_sockaddr.ss_family, - &device_handle, &handle_info ) != HND_DEVICE ) { + if( GetDeviceHandleInfoForPath(event_url_path.buf, info->foreign_sockaddr.ss_family, + &device_handle, &handle_info, &service) != HND_DEVICE ) { error_respond( info, HTTP_PRECONDITION_FAILED, request ); membuffer_destroy( &event_url_path ); HandleUnlock(); return; } - service = FindServiceEventURLPath( &handle_info->ServiceTable, - event_url_path.buf ); membuffer_destroy( &event_url_path ); /* validate service */ diff -Nru pupnp-1.8-1.8.3/upnp/src/genlib/net/http/httpparser.c pupnp-1.8-1.8.4/upnp/src/genlib/net/http/httpparser.c --- pupnp-1.8-1.8.3/upnp/src/genlib/net/http/httpparser.c 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/upnp/src/genlib/net/http/httpparser.c 2018-10-25 14:41:00.000000000 +0000 @@ -1,31 +1,31 @@ /******************************************************************************* * - * Copyright (c) 2000-2003 Intel Corporation - * All rights reserved. - * Copyright (c) 2012 France Telecom All rights reserved. + * 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: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: * - * - Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - Neither name of Intel Corporation nor the names of its contributors - * may be used to endorse or promote products derived from this software + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * - Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * - Neither name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * ******************************************************************************/ @@ -205,16 +205,16 @@ * * Parameters : * INOUT scanner_t* scanner ; Scanner Object -* OUT memptr* token ; Token +* OUT memptr* token ; Token * OUT token_type_t* tok_type ; Type of token * -* Description : reads next token from the input stream +* Description : reads next token from the input stream * note: 0 and is used as a marker, and will not be valid in a quote * * Return : parse_status_t ; * PARSE_OK -* PARSE_INCOMPLETE -- not enuf chars to get a token -* PARSE_FAILURE -- bad msg format +* PARSE_INCOMPLETE -- not enuf chars to get a token +* PARSE_FAILURE -- bad msg format * * Note : ************************************************************************/ @@ -349,8 +349,8 @@ * Function : httpmsg_compare * * Parameters : -* void* param1 ; -* void* param2 ; +* void* param1 ; +* void* param2 ; * * Description : Compares name id in the http headers. * @@ -372,7 +372,7 @@ * Function : httpheader_free * * Parameters : -* void *msg ; +* void *msg ; * * Description : Free memory allocated for the http header * @@ -428,11 +428,11 @@ assert( msg != NULL ); if( msg->initialized == 1 ) { - ListDestroy( &msg->headers, 1 ); - membuffer_destroy( &msg->msg ); - membuffer_destroy( &msg->status_msg ); - free( msg->urlbuf ); - msg->initialized = 0; + ListDestroy( &msg->headers, 1 ); + membuffer_destroy( &msg->msg ); + membuffer_destroy( &msg->status_msg ); + free( msg->urlbuf ); + msg->initialized = 0; } } @@ -462,13 +462,13 @@ node = ListHead( &msg->headers ); while( node != NULL ) { - header = ( http_header_t * ) node->item; + header = ( http_header_t * ) node->item; - if( memptr_cmp_nocase( &header->name, header_name ) == 0 ) { - return header; - } + if( memptr_cmp_nocase( &header->name, header_name ) == 0 ) { + return header; + } - node = ListNext( &msg->headers, node ); + node = ListNext( &msg->headers, node ); } return NULL; } @@ -500,12 +500,12 @@ header.name_id = header_name_id; node = ListFind( &msg->headers, NULL, &header ); if( node == NULL ) { - return NULL; + return NULL; } data = ( http_header_t * ) node->item; if( value != NULL ) { - value->buf = data->value.buf; - value->length = data->value.length; + value->buf = data->value.buf; + value->length = data->value.length; } return data; @@ -568,31 +568,31 @@ int matched; do { - save_pos = scanner->cursor; - matched = FALSE; + save_pos = scanner->cursor; + matched = FALSE; - /* get CRLF or WS */ - status = scanner_get_token( scanner, &token, &tok_type ); - 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 ); - } + /* get CRLF or WS */ + status = scanner_get_token( scanner, &token, &tok_type ); + 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_status_t ) PARSE_OK && + if( status == ( parse_status_t ) PARSE_OK && tok_type == ( token_type_t ) TT_WHITESPACE ) { - matched = TRUE; - } else { - /* did not match LWS; pushback token(s) */ - scanner->cursor = save_pos; - } - } + matched = TRUE; + } else { + /* did not match LWS; pushback token(s) */ + scanner->cursor = save_pos; + } + } } while( matched ); /* if entire msg is loaded, ignore an 'incomplete' warning */ if( status == ( parse_status_t ) PARSE_INCOMPLETE && scanner->entire_msg_loaded ) { - status = PARSE_OK; + status = PARSE_OK; } return status; @@ -631,36 +631,36 @@ 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_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 { - done = TRUE; - } + status = scanner_get_token( scanner, &token, &tok_type ); + 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 { + done = TRUE; + } } if( status == ( parse_status_t ) PARSE_OK ) { - /* last token was WS; push it back in */ - scanner->cursor -= token.length; + /* last token was WS; push it back in */ + scanner->cursor -= token.length; } /* tolerate 'incomplete' msg */ if( status == ( parse_status_t ) PARSE_OK || - ( status == ( parse_status_t ) PARSE_INCOMPLETE && - scanner->entire_msg_loaded ) - ) { - if( str->length == ( size_t ) 0 ) { - /* no strings found */ - return PARSE_NO_MATCH; - } else { - return PARSE_OK; - } + ( status == ( parse_status_t ) PARSE_INCOMPLETE && + scanner->entire_msg_loaded ) + ) { + if( str->length == ( size_t ) 0 ) { + /* no strings found */ + return PARSE_NO_MATCH; + } else { + return PARSE_OK; + } } else { - /* error -- pushback tokens */ - scanner->cursor = save_cursor; - return status; + /* error -- pushback tokens */ + scanner->cursor = save_cursor; + return status; } } @@ -669,10 +669,10 @@ * * Parameters : * INOUT scanner_t* scanner ; Scanner Object -* OUT memptr* raw_value ; Buffer to get the scanner buffer +* OUT memptr* raw_value ; Buffer to get the scanner buffer * contents * -* Description : Matches a raw value in a the input; value's length +* Description : Matches a raw value in a the input; value's length * can be 0 or more. Whitespace after value is trimmed. On success, * scanner points the CRLF that ended the value * @@ -703,60 +703,60 @@ raw_value->length = ( size_t ) 0; while( !done ) { - status = scanner_get_token( scanner, &token, &tok_type ); - if( status == ( parse_status_t ) PARSE_OK ) { - if( !saw_crlf ) { - if( tok_type == ( token_type_t ) TT_CRLF ) { - /* CRLF could end value */ - saw_crlf = TRUE; - - /* save input position at start of CRLF */ - pos_at_crlf = scanner->cursor - token.length; - } - /* keep appending value */ - raw_value->length += token.length; - } else /* already seen CRLF */ - { - if( tok_type == ( token_type_t ) TT_WHITESPACE ) { - /* start again; forget CRLF */ - saw_crlf = FALSE; - raw_value->length += token.length; - } else { - /* non-ws means value ended just before CRLF */ - done = TRUE; - - /* point to the crlf which ended the value */ - scanner->cursor = pos_at_crlf; - } - } - } else { - /* some kind of error; restore scanner position */ - scanner->cursor = save_pos; - done = TRUE; - } + status = scanner_get_token( scanner, &token, &tok_type ); + if( status == ( parse_status_t ) PARSE_OK ) { + if( !saw_crlf ) { + if( tok_type == ( token_type_t ) TT_CRLF ) { + /* CRLF could end value */ + saw_crlf = TRUE; + + /* save input position at start of CRLF */ + pos_at_crlf = scanner->cursor - token.length; + } + /* keep appending value */ + raw_value->length += token.length; + } else /* already seen CRLF */ + { + if( tok_type == ( token_type_t ) TT_WHITESPACE ) { + /* start again; forget CRLF */ + saw_crlf = FALSE; + raw_value->length += token.length; + } else { + /* non-ws means value ended just before CRLF */ + done = TRUE; + + /* point to the crlf which ended the value */ + scanner->cursor = pos_at_crlf; + } + } + } else { + /* some kind of error; restore scanner position */ + scanner->cursor = save_pos; + done = TRUE; + } } if( status == ( parse_status_t ) PARSE_OK ) { - /* trim whitespace on right side of value */ - while( raw_value->length > ( size_t ) 0 ) { - /* get last char */ - c = raw_value->buf[raw_value->length - ( size_t ) 1]; - - if( c != ' ' && c != '\t' && - c != TOKCHAR_CR && c != TOKCHAR_LF ) { - /* done; no more whitespace */ - break; - } - /* remove whitespace */ - raw_value->length--; - } + /* trim whitespace on right side of value */ + while( raw_value->length > ( size_t ) 0 ) { + /* get last char */ + c = raw_value->buf[raw_value->length - ( size_t ) 1]; + + if( c != ' ' && c != '\t' && + c != TOKCHAR_CR && c != TOKCHAR_LF ) { + /* done; no more whitespace */ + break; + } + /* remove whitespace */ + raw_value->length--; + } } return status; } /************************************************************************ -* Function: match_int +* Function: match_int * * Parameters: * INOUT scanner_t* scanner ; Scanner Object @@ -765,7 +765,7 @@ * OUT int* value ; Number stored here * * Description: Matches an unsigned integer value in the input. The -* integer is returned in 'value'. Except for PARSE_OK result, the +* integer is returned in 'value'. Except for PARSE_OK result, the * scanner's cursor is moved back to its original position on error. * * Returns: @@ -819,18 +819,18 @@ * INOUT scanner_t* scanner ;Scanner Object * OUT memptr* str ; Buffer to copy scanner buffer contents to * -* Description: Reads data until end of line; the crlf at the end of -* line is not consumed. On error, scanner is not restored. On -* success, 'str' points to a string that runs until eol +* Description: Reads data until end of line; the crlf at the end of +* line is not consumed. On error, scanner is not restored. On +* success, 'str' points to a string that runs until eol * * Returns: * PARSE_OK * PARSE_FAILURE * PARSE_INCOMPLETE ************************************************************************/ -static UPNP_INLINE parse_status_t +static UPNP_INLINE parse_status_t read_until_crlf( INOUT scanner_t * scanner, - OUT memptr * str ) + OUT memptr * str ) { memptr token; token_type_t tok_type; @@ -842,16 +842,16 @@ /* read until we hit a crlf */ do { - status = scanner_get_token( scanner, &token, &tok_type ); + status = scanner_get_token( scanner, &token, &tok_type ); } while( status == ( parse_status_t ) PARSE_OK && tok_type != ( token_type_t ) TT_CRLF ); if( status == ( parse_status_t ) PARSE_OK ) { - /* pushback crlf in stream */ - scanner->cursor -= token.length; + /* pushback crlf in stream */ + scanner->cursor -= token.length; - /* str should include all strings except crlf at the end */ - str->length = scanner->cursor - start_pos; + /* str should include all strings except crlf at the end */ + str->length = scanner->cursor - start_pos; } return status; @@ -876,22 +876,22 @@ ************************************************************************/ static UPNP_INLINE parse_status_t match_char( INOUT scanner_t * scanner, - IN char c, - IN int case_sensitive ) + IN char c, + IN int case_sensitive ) { char scan_char; if( scanner->cursor >= scanner->msg->length ) { - return PARSE_INCOMPLETE; + return PARSE_INCOMPLETE; } /* read next char from scanner */ scan_char = scanner->msg->buf[scanner->cursor++]; if( case_sensitive ) { - return c == scan_char ? PARSE_OK : PARSE_NO_MATCH; + return c == scan_char ? PARSE_OK : PARSE_NO_MATCH; } else { - return tolower( c ) == tolower( scan_char ) ? - PARSE_OK : PARSE_NO_MATCH; + return tolower( c ) == tolower( scan_char ) ? + PARSE_OK : PARSE_NO_MATCH; } } @@ -917,9 +917,9 @@ * %c matches CRLF * %i ignore case in literal matching * %n case-sensitive matching in literals - * %w optional whitespace; (similar to '\t', + * %w optional whitespace; (similar to '\t', * except whitespace is optional) - * %0 (zero) match null-terminator char '\0' + * %0 (zero) match null-terminator char '\0' * (can only be used as last char in fmt) * use only in matchstr(), not match() * other chars match literally @@ -935,12 +935,12 @@ * Function : vfmatch * * Parameters : -* INOUT scanner_t* scanner ; Scanner Object -* IN const char* fmt ; Pattern Format +* INOUT scanner_t* scanner ; Scanner Object +* IN const char* fmt ; Pattern Format * va_list argp ; List of variable arguments * -* Description : Extracts variable parameters depending on the passed -* in format parameter. Parses data also based on the passed in +* Description : Extracts variable parameters depending on the passed +* in format parameter. Parses data also based on the passed in * format parameter. * * Return : int ; @@ -979,139 +979,139 @@ status = PARSE_OK; while( ( c = *fmt_ptr++ ) && ( status == ( parse_status_t ) PARSE_OK ) ) { - if( c == '%' ) { - c = *fmt_ptr++; - switch ( c ) { - case 'R': /* raw value */ - str_ptr = va_arg( argp, memptr * ); - assert( str_ptr != NULL ); - status = match_raw_value( scanner, str_ptr ); - break; - case 's': /* simple identifier */ - str_ptr = va_arg( argp, memptr * ); - assert( str_ptr != NULL ); - status = scanner_get_token( scanner, str_ptr, - &tok_type ); - if( status == ( parse_status_t ) PARSE_OK && + if( c == '%' ) { + c = *fmt_ptr++; + switch ( c ) { + case 'R': /* raw value */ + str_ptr = va_arg( argp, memptr * ); + assert( str_ptr != NULL ); + status = match_raw_value( scanner, str_ptr ); + break; + case 's': /* simple identifier */ + str_ptr = va_arg( argp, memptr * ); + assert( str_ptr != NULL ); + status = scanner_get_token( scanner, str_ptr, + &tok_type ); + if( status == ( parse_status_t ) PARSE_OK && tok_type != ( token_type_t ) TT_IDENTIFIER ) { - /* not an identifier */ - status = PARSE_NO_MATCH; - } - break; - case 'c': /* crlf */ - status = scanner_get_token( scanner, - &token, &tok_type ); - if( status == ( parse_status_t ) PARSE_OK && + /* not an identifier */ + status = PARSE_NO_MATCH; + } + break; + case 'c': /* crlf */ + status = scanner_get_token( scanner, + &token, &tok_type ); + if( status == ( parse_status_t ) PARSE_OK && tok_type != ( token_type_t ) TT_CRLF ) { - /* not CRLF token */ - status = PARSE_NO_MATCH; - } - break; - case 'd': /* integer */ - case 'x': /* hex number */ - int_ptr = va_arg(argp, int *); - assert(int_ptr != NULL); - base = c == 'd' ? 10 : 16; - status = match_int(scanner, base, int_ptr); - break; - case 'S': /* non-whitespace string */ - case 'U': /* uri */ - if( c == 'S' ) { - str_ptr = va_arg( argp, memptr * ); - } else { - str_ptr = &temp_str; - } - assert( str_ptr != NULL ); - status = match_non_ws_string( scanner, str_ptr ); - 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, - uri_ptr ); - if( stat != HTTP_SUCCESS ) { - status = PARSE_NO_MATCH; - } - } - break; - case 'L': /* string till eol */ - str_ptr = va_arg( argp, memptr * ); - assert( str_ptr != NULL ); - status = read_until_crlf( scanner, str_ptr ); - break; - case ' ': /* match space */ - case '%': /* match percentage symbol */ - status = match_char( scanner, c, case_sensitive ); - break; - case 'n': /* case-sensitive match */ - case_sensitive = TRUE; - break; - case 'i': /* ignore case */ - case_sensitive = FALSE; - break; - case 'q': /* quoted string */ - str_ptr = ( memptr * ) va_arg( argp, memptr * ); - status = - scanner_get_token( scanner, str_ptr, &tok_type ); - if( status == ( parse_status_t ) PARSE_OK && + /* not CRLF token */ + status = PARSE_NO_MATCH; + } + break; + case 'd': /* integer */ + case 'x': /* hex number */ + int_ptr = va_arg(argp, int *); + assert(int_ptr != NULL); + base = c == 'd' ? 10 : 16; + status = match_int(scanner, base, int_ptr); + break; + case 'S': /* non-whitespace string */ + case 'U': /* uri */ + if( c == 'S' ) { + str_ptr = va_arg( argp, memptr * ); + } else { + str_ptr = &temp_str; + } + assert( str_ptr != NULL ); + status = match_non_ws_string( scanner, str_ptr ); + 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, + uri_ptr ); + if( stat != HTTP_SUCCESS ) { + status = PARSE_NO_MATCH; + } + } + break; + case 'L': /* string till eol */ + str_ptr = va_arg( argp, memptr * ); + assert( str_ptr != NULL ); + status = read_until_crlf( scanner, str_ptr ); + break; + case ' ': /* match space */ + case '%': /* match percentage symbol */ + status = match_char( scanner, c, case_sensitive ); + break; + case 'n': /* case-sensitive match */ + case_sensitive = TRUE; + break; + case 'i': /* ignore case */ + case_sensitive = FALSE; + break; + case 'q': /* quoted string */ + str_ptr = ( memptr * ) va_arg( argp, memptr * ); + status = + scanner_get_token( scanner, str_ptr, &tok_type ); + if( status == ( parse_status_t ) PARSE_OK && tok_type != ( token_type_t ) TT_QUOTEDSTRING ) { - status = PARSE_NO_MATCH; /* not a quoted string */ - } - break; - case 'w': - /* optional whitespace */ - status = scanner_get_token( scanner, - &token, &tok_type ); - if( status == ( parse_status_t ) PARSE_OK && + status = PARSE_NO_MATCH; /* not a quoted string */ + } + break; + case 'w': + /* optional whitespace */ + status = scanner_get_token( scanner, + &token, &tok_type ); + if( status == ( parse_status_t ) PARSE_OK && tok_type != ( token_type_t ) TT_WHITESPACE ) { - /* restore non-whitespace token */ - scanner->cursor -= token.length; - } - break; - case 'P': - /* current pos of scanner */ - int_ptr = va_arg( argp, int * ); - assert( int_ptr != NULL ); - *int_ptr = (int)scanner->cursor; - break; - /* valid only in matchstr() */ - case '0': + /* restore non-whitespace token */ + scanner->cursor -= token.length; + } + break; + case 'P': + /* current pos of scanner */ + int_ptr = va_arg( argp, int * ); + assert( int_ptr != NULL ); + *int_ptr = (int)scanner->cursor; + break; + /* valid only in matchstr() */ + case '0': /* end of msg? */ - /* check that we are 1 beyond last char */ - if( scanner->cursor == scanner->msg->length && - scanner->msg->buf[scanner->cursor] == '\0' ) { - status = PARSE_OK; - } else { - status = PARSE_NO_MATCH; - } - break; - default: + /* check that we are 1 beyond last char */ + if( scanner->cursor == scanner->msg->length && + scanner->msg->buf[scanner->cursor] == '\0' ) { + status = PARSE_OK; + } else { + status = PARSE_NO_MATCH; + } + break; + default: /* unknown option */ - assert( 0 ); - } - } else { - switch ( c ) { - case ' ': /* LWS* */ - status = skip_lws( scanner ); - break; - case '\t': /* Whitespace */ - status = scanner_get_token( scanner, - &token, &tok_type ); - if( status == ( parse_status_t ) PARSE_OK && + assert( 0 ); + } + } else { + switch ( c ) { + case ' ': /* LWS* */ + status = skip_lws( scanner ); + break; + case '\t': /* Whitespace */ + status = scanner_get_token( scanner, + &token, &tok_type ); + if( status == ( parse_status_t ) PARSE_OK && tok_type != (token_type_t) TT_WHITESPACE ) { - /* not whitespace token */ - status = PARSE_NO_MATCH; - } - break; - default: /* match characters */ - { - status = match_char( scanner, c, case_sensitive ); - } - } - } + /* not whitespace token */ + status = PARSE_NO_MATCH; + } + break; + default: /* match characters */ + { + status = match_char( scanner, c, case_sensitive ); + } + } + } } if( status != ( parse_status_t ) PARSE_OK ) { - /* on error, restore original scanner pos */ - scanner->cursor = save_pos; + /* on error, restore original scanner pos */ + scanner->cursor = save_pos; } return status; @@ -1169,9 +1169,9 @@ ************************************************************************/ parse_status_t matchstr( IN char *str, - IN size_t slen, - IN const char *fmt, - ... ) + IN size_t slen, + IN const char *fmt, + ... ) { parse_status_t ret_code; char save_char; @@ -1259,91 +1259,91 @@ status = skip_blank_lines( &parser->scanner ); if( status != ( parse_status_t ) PARSE_OK ) { - return status; + return status; } /*simple get http 0.9 as described in http 1.0 spec */ status = - match( &parser->scanner, "%s\t%S%w%c", &method_str, &url_str ); + match( &parser->scanner, "%s\t%S%w%c", &method_str, &url_str ); if( status == ( parse_status_t ) PARSE_OK ) { - index = - map_str_to_int( method_str.buf, method_str.length, - Http_Method_Table, NUM_HTTP_METHODS, TRUE ); - - if( index < 0 ) { - /* error; method not found */ - parser->http_error_code = HTTP_NOT_IMPLEMENTED; - return PARSE_FAILURE; - } - - if( Http_Method_Table[index].id != HTTPMETHOD_GET ) { - parser->http_error_code = HTTP_BAD_REQUEST; - return PARSE_FAILURE; - } - - hmsg->method = HTTPMETHOD_SIMPLEGET; - - /* store url */ - hmsg->urlbuf = str_alloc( url_str.buf, url_str.length ); - if( hmsg->urlbuf == NULL ) { - /* out of mem */ - parser->http_error_code = HTTP_INTERNAL_SERVER_ERROR; - return PARSE_FAILURE; - } - if( parse_uri( hmsg->urlbuf, url_str.length, &hmsg->uri ) != - HTTP_SUCCESS ) { - return PARSE_FAILURE; - } + index = + map_str_to_int( method_str.buf, method_str.length, + Http_Method_Table, NUM_HTTP_METHODS, TRUE ); + + if( index < 0 ) { + /* error; method not found */ + parser->http_error_code = HTTP_NOT_IMPLEMENTED; + return PARSE_FAILURE; + } + + if( Http_Method_Table[index].id != HTTPMETHOD_GET ) { + parser->http_error_code = HTTP_BAD_REQUEST; + return PARSE_FAILURE; + } + + hmsg->method = HTTPMETHOD_SIMPLEGET; + + /* store url */ + hmsg->urlbuf = str_alloc( url_str.buf, url_str.length ); + if( hmsg->urlbuf == NULL ) { + /* out of mem */ + parser->http_error_code = HTTP_INTERNAL_SERVER_ERROR; + return PARSE_FAILURE; + } + if( parse_uri( hmsg->urlbuf, url_str.length, &hmsg->uri ) != + HTTP_SUCCESS ) { + return PARSE_FAILURE; + } - parser->position = POS_COMPLETE; /* move to headers */ + parser->position = POS_COMPLETE; /* move to headers */ - return PARSE_SUCCESS; + return PARSE_SUCCESS; } status = match( &parser->scanner, - "%s\t%S\t%ihttp%w/%w%L%c", &method_str, &url_str, - &version_str ); + "%s\t%S\t%ihttp%w/%w%L%c", &method_str, &url_str, + &version_str ); if( status != ( parse_status_t ) PARSE_OK ) { - return status; + return status; } /* store url */ hmsg->urlbuf = str_alloc( url_str.buf, url_str.length ); if( hmsg->urlbuf == NULL ) { - /* out of mem */ - parser->http_error_code = HTTP_INTERNAL_SERVER_ERROR; - return PARSE_FAILURE; + /* out of mem */ + parser->http_error_code = HTTP_INTERNAL_SERVER_ERROR; + return PARSE_FAILURE; } if( parse_uri( hmsg->urlbuf, url_str.length, &hmsg->uri ) != - HTTP_SUCCESS ) { - return PARSE_FAILURE; + HTTP_SUCCESS ) { + return PARSE_FAILURE; } index = - map_str_to_int( method_str.buf, method_str.length, - Http_Method_Table, NUM_HTTP_METHODS, TRUE ); + map_str_to_int( method_str.buf, method_str.length, + Http_Method_Table, NUM_HTTP_METHODS, TRUE ); if( index < 0 ) { - /* error; method not found */ - parser->http_error_code = HTTP_NOT_IMPLEMENTED; - return PARSE_FAILURE; + /* error; method not found */ + parser->http_error_code = HTTP_NOT_IMPLEMENTED; + 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 ); + &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 || + /* 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; + 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; @@ -1460,6 +1460,7 @@ http_header_t *orig_header; char save_char; int ret2; + static char zero = 0; assert(parser->position == (parser_pos_t)POS_HEADERS || parser->ent_position == ENTREAD_CHUNKY_HEADERS); @@ -1530,8 +1531,7 @@ membuffer_init(&header->value); /* value can be 0 length */ if (hdr_value.length == (size_t)0) { - /* FIXME: Is this a bug? buf is not const. */ - hdr_value.buf = "\0"; + hdr_value.buf = &zero; hdr_value.length = (size_t)1; } /* save in header in buffers */ @@ -1595,29 +1595,29 @@ /* determine entity (i.e. body) length so far */ parser->msg.entity.length = - parser->msg.msg.length - parser->entity_start_position + - parser->msg.amount_discarded; + parser->msg.msg.length - parser->entity_start_position + + parser->msg.amount_discarded; if( parser->msg.entity.length < parser->content_length ) { - /* more data to be read */ - return PARSE_INCOMPLETE; + /* more data to be read */ + return PARSE_INCOMPLETE; } else { - if( parser->msg.entity.length > parser->content_length ) { - /* silently discard extra data */ - parser->msg.msg.buf[parser->entity_start_position + - parser->content_length - - parser->msg.amount_discarded] = '\0'; - } - /* save entity length */ - parser->msg.entity.length = parser->content_length; - - /* save entity start ptr; (the very last thing to do) */ - parser->msg.entity.buf = parser->msg.msg.buf + - parser->entity_start_position; - - /* done reading entity */ - parser->position = POS_COMPLETE; - return PARSE_SUCCESS; + if( parser->msg.entity.length > parser->content_length ) { + /* silently discard extra data */ + parser->msg.msg.buf[parser->entity_start_position + + parser->content_length - + parser->msg.amount_discarded] = '\0'; + } + /* save entity length */ + parser->msg.entity.length = parser->content_length; + + /* save entity start ptr; (the very last thing to do) */ + parser->msg.entity.buf = parser->msg.msg.buf + + parser->entity_start_position; + + /* done reading entity */ + parser->position = POS_COMPLETE; + return PARSE_SUCCESS; } } @@ -1689,20 +1689,20 @@ save_pos = parser->scanner.cursor; status = parser_parse_headers( parser ); if( status == ( parse_status_t ) PARSE_OK ) { - /* finally, done with the whole msg */ - parser->position = POS_COMPLETE; + /* finally, done with the whole msg */ + parser->position = POS_COMPLETE; - 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; + 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; + return PARSE_SUCCESS; } else { - return status; + return status; } } @@ -1735,26 +1735,26 @@ /* get size of chunk, discard extension, discard CRLF */ status = match( scanner, "%x%L%c", &parser->chunk_size, &dummy ); if( status != ( parse_status_t ) PARSE_OK ) { - scanner->cursor = save_pos; - UpnpPrintf( UPNP_INFO, HTTP, __FILE__, __LINE__, - "CHUNK COULD NOT BE PARSED\n" ); - return status; + scanner->cursor = save_pos; + UpnpPrintf( UPNP_INFO, HTTP, __FILE__, __LINE__, + "CHUNK COULD NOT BE PARSED\n" ); + return status; } /* remove chunk info just matched; just retain data */ membuffer_delete( &parser->msg.msg, save_pos, - ( scanner->cursor - save_pos ) ); + ( scanner->cursor - save_pos ) ); scanner->cursor = save_pos; /* adjust scanner too */ 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; + /* done reading entity; determine length of entity */ + parser->msg.entity.length = parser->scanner.cursor - + parser->entity_start_position + parser->msg.amount_discarded; - /* read entity headers */ - parser->ent_position = ENTREAD_CHUNKY_HEADERS; + /* read entity headers */ + parser->ent_position = ENTREAD_CHUNKY_HEADERS; } else { - /* read chunk body */ - parser->ent_position = ENTREAD_CHUNKY_BODY; + /* read chunk body */ + parser->ent_position = ENTREAD_CHUNKY_BODY; } return PARSE_CONTINUE_1; /* continue to reading body */ @@ -1783,11 +1783,11 @@ /* update entity length */ parser->msg.entity.length = cursor - parser->entity_start_position + - parser->msg.amount_discarded; + parser->msg.amount_discarded; /* update pointer */ parser->msg.entity.buf = - parser->msg.msg.buf + parser->entity_start_position; + parser->msg.msg.buf + parser->entity_start_position; parser->scanner.cursor = cursor; @@ -1828,67 +1828,67 @@ /* * no body for 1xx, 204, 304 and HEAD, GET, */ /* SUBSCRIBE, UNSUBSCRIBE */ if( hmsg->is_request ) { - switch ( hmsg->method ) { - case HTTPMETHOD_HEAD: - case HTTPMETHOD_GET: - /*case HTTPMETHOD_POST: */ - case HTTPMETHOD_SUBSCRIBE: - case HTTPMETHOD_UNSUBSCRIBE: - case HTTPMETHOD_MSEARCH: - /* no body; mark as done */ - parser->position = POS_COMPLETE; - return PARSE_SUCCESS; - break; - - default: - ; /* do nothing */ - } + switch ( hmsg->method ) { + case HTTPMETHOD_HEAD: + case HTTPMETHOD_GET: + /*case HTTPMETHOD_POST: */ + case HTTPMETHOD_SUBSCRIBE: + case HTTPMETHOD_UNSUBSCRIBE: + case HTTPMETHOD_MSEARCH: + /* no body; mark as done */ + parser->position = POS_COMPLETE; + return PARSE_SUCCESS; + break; + + default: + ; /* do nothing */ + } } else /* response */ { - response_code = hmsg->status_code; + response_code = hmsg->status_code; - if( response_code == 204 || - response_code == 304 || - ( response_code >= 100 && response_code <= 199 ) || - 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; - } + if( response_code == 204 || + response_code == 304 || + ( response_code >= 100 && response_code <= 199 ) || + 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; + } } /* * transfer-encoding -- used to indicate chunked data */ if( httpmsg_find_hdr( hmsg, HDR_TRANSFER_ENCODING, &hdr_value ) ) { - if( raw_find_str( &hdr_value, "chunked" ) >= 0 ) { - /* read method to use chunked transfer encoding */ - parser->ent_position = ENTREAD_USING_CHUNKED; - UpnpPrintf( UPNP_INFO, HTTP, __FILE__, __LINE__, - "Found Chunked Encoding ....\n" ); + if( raw_find_str( &hdr_value, "chunked" ) >= 0 ) { + /* read method to use chunked transfer encoding */ + parser->ent_position = ENTREAD_USING_CHUNKED; + UpnpPrintf( UPNP_INFO, HTTP, __FILE__, __LINE__, + "Found Chunked Encoding ....\n" ); - return PARSE_CONTINUE_1; - } + return PARSE_CONTINUE_1; + } } /* * use content length */ if( httpmsg_find_hdr( hmsg, HDR_CONTENT_LENGTH, &hdr_value ) ) { - parser->content_length = (unsigned int)raw_to_int(&hdr_value, 10); - parser->ent_position = ENTREAD_USING_CLEN; - return PARSE_CONTINUE_1; + parser->content_length = (unsigned int)raw_to_int(&hdr_value, 10); + parser->ent_position = ENTREAD_USING_CLEN; + return PARSE_CONTINUE_1; } /* * multi-part/byteranges not supported (yet) */ /* * read until connection is closed */ if( hmsg->is_request ) { - /* set hack flag for NOTIFY methods; if set to true this is */ - /* a valid SSDP notify msg */ - if( hmsg->method == ( http_method_t ) HTTPMETHOD_NOTIFY ) { - parser->valid_ssdp_notify_hack = TRUE; - } + /* set hack flag for NOTIFY methods; if set to true this is */ + /* a valid SSDP notify msg */ + if( hmsg->method == ( http_method_t ) HTTPMETHOD_NOTIFY ) { + parser->valid_ssdp_notify_hack = TRUE; + } - parser->http_error_code = HTTP_LENGTH_REQUIRED; - return PARSE_FAILURE; + parser->http_error_code = HTTP_LENGTH_REQUIRED; + return PARSE_FAILURE; } parser->ent_position = ENTREAD_UNTIL_CLOSE; @@ -1918,35 +1918,35 @@ assert( parser->position == POS_ENTITY ); do { - switch ( parser->ent_position ) { - case ENTREAD_USING_CLEN: - status = parser_parse_entity_using_clen( parser ); - break; - - case ENTREAD_USING_CHUNKED: - status = parser_parse_chunky_entity( parser ); - break; - - case ENTREAD_CHUNKY_BODY: - status = parser_parse_chunky_body( parser ); - break; - - case ENTREAD_CHUNKY_HEADERS: - status = parser_parse_chunky_headers( parser ); - break; - - case ENTREAD_UNTIL_CLOSE: - status = parser_parse_entity_until_close( parser ); - break; - - case ENTREAD_DETERMINE_READ_METHOD: - status = parser_get_entity_read_method( parser ); - break; + switch ( parser->ent_position ) { + case ENTREAD_USING_CLEN: + status = parser_parse_entity_using_clen( parser ); + break; + + case ENTREAD_USING_CHUNKED: + status = parser_parse_chunky_entity( parser ); + break; + + case ENTREAD_CHUNKY_BODY: + status = parser_parse_chunky_body( parser ); + break; + + case ENTREAD_CHUNKY_HEADERS: + status = parser_parse_chunky_headers( parser ); + break; + + case ENTREAD_UNTIL_CLOSE: + status = parser_parse_entity_until_close( parser ); + break; + + case ENTREAD_DETERMINE_READ_METHOD: + status = parser_get_entity_read_method( parser ); + break; - default: + default: status = PARSE_FAILURE; - assert( 0 ); - } + assert( 0 ); + } } while( status == ( parse_status_t ) PARSE_CONTINUE_1 ); @@ -1986,7 +1986,7 @@ ************************************************************************/ void parser_response_init( OUT http_parser_t * parser, - IN http_method_t request_method ) + IN http_method_t request_method ) { parser_init( parser ); parser->msg.is_request = FALSE; @@ -2021,33 +2021,33 @@ assert( parser != NULL ); do { - switch ( parser->position ) { - case POS_ENTITY: - status = parser_parse_entity( parser ); + switch ( parser->position ) { + case POS_ENTITY: + status = parser_parse_entity( parser ); - break; + break; - case POS_HEADERS: - status = parser_parse_headers( parser ); + case POS_HEADERS: + status = parser_parse_headers( parser ); - break; + break; - case POS_REQUEST_LINE: - status = parser_parse_requestline( parser ); + case POS_REQUEST_LINE: + status = parser_parse_requestline( parser ); - break; + break; - case POS_RESPONSE_LINE: - status = parser_parse_responseline( parser ); + case POS_RESPONSE_LINE: + status = parser_parse_responseline( parser ); - break; + break; - default: - { - status = PARSE_FAILURE; - assert( 0 ); - } - } + default: + { + status = PARSE_FAILURE; + assert( 0 ); + } + } } while( status == ( parse_status_t ) PARSE_OK ); @@ -2075,8 +2075,8 @@ ************************************************************************/ parse_status_t parser_append( INOUT http_parser_t * parser, - IN const char *buf, - IN size_t buf_length ) + IN const char *buf, + IN size_t buf_length ) { int ret_code; @@ -2086,9 +2086,9 @@ /* append data to buffer */ ret_code = membuffer_append( &parser->msg.msg, buf, buf_length ); if( ret_code != 0 ) { - /* set failure status */ - parser->http_error_code = HTTP_INTERNAL_SERVER_ERROR; - return PARSE_FAILURE; + /* set failure status */ + parser->http_error_code = HTTP_INTERNAL_SERVER_ERROR; + return PARSE_FAILURE; } return parser_parse( parser ); @@ -2138,7 +2138,7 @@ * Side effects: raw_value is transformed to lowercase. * * Returns: -* int - index at which the substring is found. +* int - index at which the substring is found. ************************************************************************/ int raw_find_str(IN memptr *raw_value, IN const char *str) { @@ -2151,7 +2151,7 @@ /* Make it lowercase */ for (i = 0; raw_value->buf[i]; ++i) { - raw_value->buf[i] = (char)tolower(raw_value->buf[i]); + raw_value->buf[i] = (char)tolower(raw_value->buf[i]); } /* null-terminate */ @@ -2164,7 +2164,7 @@ raw_value->buf[raw_value->length] = c; if( ptr == 0 ) { - return -1; + return -1; } /* return index */ @@ -2175,7 +2175,7 @@ * Function: method_to_str * * Parameters: -* IN http_method_t method ; HTTP method +* IN http_method_t method ; HTTP method * * Description: A wrapper function that maps a method id to a method * nameConverts a http_method id stored in the HTTP Method @@ -2205,27 +2205,27 @@ /* print start line */ if( hmsg->is_request ) { - printf( "method = %d, version = %d.%d, url = %.*s\n", + printf( "method = %d, version = %d.%d, url = %.*s\n", hmsg->method, hmsg->major_version, hmsg->minor_version, - (int)hmsg->uri.pathquery.size, hmsg->uri.pathquery.buff); + (int)hmsg->uri.pathquery.size, hmsg->uri.pathquery.buff); } else { - printf( "resp status = %d, version = %d.%d, status msg = %.*s\n", - hmsg->status_code, hmsg->major_version, hmsg->minor_version, - (int)hmsg->status_msg.length, hmsg->status_msg.buf); + printf( "resp status = %d, version = %d.%d, status msg = %.*s\n", + hmsg->status_code, hmsg->major_version, hmsg->minor_version, + (int)hmsg->status_msg.length, hmsg->status_msg.buf); } /* print headers */ node = ListHead( &hmsg->headers ); /* NNS: node = dlist_first_node( &hmsg->headers ); */ while( node != NULL ) { - header = ( http_header_t * ) node->item; - /* NNS: header = (http_header_t *)node->data; */ - printf( "hdr name: %.*s, value: %.*s\n", - (int)header->name.length, header->name.buf, - (int)header->value.length, header->value.buf ); + header = ( http_header_t * ) node->item; + /* NNS: header = (http_header_t *)node->data; */ + printf( "hdr name: %.*s, value: %.*s\n", + (int)header->name.length, header->name.buf, + (int)header->value.length, header->value.buf ); - node = ListNext( &hmsg->headers, node ); - /* NNS: node = dlist_next( &hmsg->headers, node ); */ + node = ListNext( &hmsg->headers, node ); + /* NNS: node = dlist_next( &hmsg->headers, node ); */ } } #endif /* DEBUG */ diff -Nru pupnp-1.8-1.8.3/upnp/src/genlib/net/http/httpreadwrite.c pupnp-1.8-1.8.4/upnp/src/genlib/net/http/httpreadwrite.c --- pupnp-1.8-1.8.3/upnp/src/genlib/net/http/httpreadwrite.c 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/upnp/src/genlib/net/http/httpreadwrite.c 2018-10-25 14:41:00.000000000 +0000 @@ -445,7 +445,7 @@ /* 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; + off_t amount_to_be_read = 0; size_t Data_Buf_Size = WEB_SERVER_BUF_SIZE; #endif /* EXCLUDE_WEB_SERVER */ va_list argp; @@ -465,11 +465,11 @@ if (c == 'I') { Instr = va_arg(argp, struct SendInstruction *); if (Instr->ReadSendSize >= 0) - amount_to_be_read = (size_t)Instr->ReadSendSize; + amount_to_be_read = Instr->ReadSendSize; else - amount_to_be_read = Data_Buf_Size; - if (amount_to_be_read < WEB_SERVER_BUF_SIZE) - Data_Buf_Size = amount_to_be_read; + amount_to_be_read = (off_t)Data_Buf_Size; + if (amount_to_be_read < (off_t)WEB_SERVER_BUF_SIZE) + Data_Buf_Size = (size_t)amount_to_be_read; ChunkBuf = malloc((size_t) (Data_Buf_Size + CHUNK_HEADER_SIZE + CHUNK_TAIL_SIZE)); @@ -504,18 +504,18 @@ while (amount_to_be_read) { if (Instr) { int nr; - size_t n = amount_to_be_read >= Data_Buf_Size ? - Data_Buf_Size : amount_to_be_read; + size_t n = amount_to_be_read >= (off_t)Data_Buf_Size ? + Data_Buf_Size : (size_t)amount_to_be_read; if (Instr->IsVirtualFile) { nr = virtualDirCallback.read(Fp, file_buf, n, Instr->Cookie); num_read = (size_t)nr; } else { num_read = fread(file_buf, (size_t)1, n, Fp); } - amount_to_be_read -= num_read; + amount_to_be_read -= (off_t)num_read; if (Instr->ReadSendSize < 0) { /* read until close */ - amount_to_be_read = Data_Buf_Size; + amount_to_be_read = (off_t)Data_Buf_Size; } } else { num_read = fread(file_buf, (size_t)1, Data_Buf_Size, Fp); @@ -1455,7 +1455,7 @@ membuffer_init(&membuf); membuf.size_inc = (size_t)70; /* response start line */ - ret = http_MakeMessage(&membuf, response_major, response_minor, "RSCB", + ret = http_MakeMessage(&membuf, response_major, response_minor, "RSCBcc", http_status_code, http_status_code); if (ret == 0) { timeout = HTTP_DEFAULT_TIMEOUT; @@ -1596,9 +1596,12 @@ (http_major_version == 1 && http_minor_version == 1) ) { /* connection header */ - if (membuffer_append_str(buf, "CONNECTION: close\r\n")) + if (membuffer_append_str(buf, "CONNECTION: close")) goto error_handler; } + /* append \r\n in all cases, e.g. HTTP/1.0 */ + if (membuffer_append_str(buf, "\r\n")) + goto error_handler; } else if (c == 'N') { /* content-length header */ bignum = (off_t) va_arg(argp, off_t); diff -Nru pupnp-1.8-1.8.3/upnp/src/genlib/service_table/service_table.c pupnp-1.8-1.8.4/upnp/src/genlib/service_table/service_table.c --- pupnp-1.8-1.8.3/upnp/src/genlib/service_table/service_table.c 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/upnp/src/genlib/service_table/service_table.c 2018-10-25 14:41:00.000000000 +0000 @@ -294,7 +294,7 @@ ************************************************************************/ service_info * FindServiceEventURLPath( service_table * table, - char *eventURLPath ) + const char *eventURLPath ) { service_info *finger = NULL; uri_type parsed_url; diff -Nru pupnp-1.8-1.8.3/upnp/src/inc/service_table.h pupnp-1.8-1.8.4/upnp/src/inc/service_table.h --- pupnp-1.8-1.8.3/upnp/src/inc/service_table.h 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/upnp/src/inc/service_table.h 2018-10-25 14:41:00.000000000 +0000 @@ -46,6 +46,7 @@ #include "ixml.h" #include "upnp.h" #include "upnpdebug.h" +#include "LinkedList.h" #include #include @@ -185,7 +186,7 @@ /*! [in] Service table. */ service_table *table, /*! [in] Event URL path used to find a service from the table. */ - char *eventURLPath); + const char *eventURLPath); /*! * \brief Traverses the service table and finds the node whose control URL Path diff -Nru pupnp-1.8-1.8.3/upnp/src/inc/ssdplib.h pupnp-1.8-1.8.4/upnp/src/inc/ssdplib.h --- pupnp-1.8-1.8.3/upnp/src/inc/ssdplib.h 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/upnp/src/inc/ssdplib.h 2018-10-25 14:41:00.000000000 +0000 @@ -1,34 +1,34 @@ #ifndef SSDPLIB_H -#define SSDPLIB_H +#define SSDPLIB_H /************************************************************************** * - * 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: - * - * - Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - Neither name of Intel Corporation nor the names of its contributors - * may be used to endorse or promote products derived from this software + * 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: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * - Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * - Neither name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * **************************************************************************/ @@ -183,17 +183,17 @@ */ int AdvertiseAndReply( /* [in] -1 = Send shutdown, 0 = send reply, 1 = Send Advertisement. */ - int AdFlag, + int AdFlag, /* [in] Device handle. */ - UpnpDevice_Handle Hnd, + UpnpDevice_Handle Hnd, /* [in] Search type for sending replies. */ - enum SsdpSearchType SearchType, + enum SsdpSearchType SearchType, /* [in] Destination address. */ struct sockaddr *DestAddr, /* [in] Device type. */ - char *DeviceType, + char *DeviceType, /* [in] Device UDN. */ - char *DeviceUDN, + char *DeviceUDN, /* [in] Service type. */ char *ServiceType, /* [in] Advertisement age. */ @@ -267,16 +267,12 @@ */ void ssdp_handle_ctrlpt_msg( /* [in] SSDP message from the device. */ - http_message_t *hmsg, + http_message_t *hmsg, /* [in] Address of the device. */ struct sockaddr_storage *dest_addr, /* [in] timeout kept by the control point while sending search message. * Only in search reply. */ - int timeout, - /* [in] Cookie stored by the control point application. This cookie will - * be returned to the control point in the callback. - * Only in search reply. */ - void *cookie); + int timeout); /*! * \brief Creates and send the search request for a specific URL. @@ -317,10 +313,8 @@ /*! * \brief Wrapper function to reply the search request coming from the * control point. - * - * \return always return NULL */ -void *advertiseAndReplyThread( +void advertiseAndReplyThread( /* [in] Structure containing the search request. */ void *data); @@ -332,13 +326,13 @@ #ifdef INCLUDE_DEVICE_APIS void ssdp_handle_device_request( /* [in] . */ - http_message_t *hmsg, + http_message_t *hmsg, /* [in] . */ struct sockaddr_storage *dest_addr); #else /* INCLUDE_DEVICE_APIS */ static UPNP_INLINE void ssdp_handle_device_request( /* [in] . */ - http_message_t *hmsg, + http_message_t *hmsg, /* [in] . */ struct sockaddr_storage *dest_addr) {} #endif /* INCLUDE_DEVICE_APIS */ @@ -355,7 +349,7 @@ /* [in] flag to indicate if the device is root device. */ int RootDev, /* [in] UDN. */ - char *Udn, + char *Udn, /* [in] Location URL. */ char *Location, /* [in] Service duration in sec. */ @@ -377,17 +371,17 @@ */ int SendReply( /* [in] destination IP address. */ - struct sockaddr *DestAddr, + struct sockaddr *DestAddr, /* [in] Device type. */ - char *DevType, + char *DevType, /* [in] 1 means root device 0 means embedded device. */ - int RootDev, + int RootDev, /* [in] Device UDN. */ - char *Udn, + char *Udn, /* [in] Location of Device description document. */ - char *Location, + char *Location, /* [in] Life time of this device. */ - int Duration, + int Duration, /* [in] . */ int ByType, /* [in] PowerState as defined by UPnP Low Power. */ @@ -405,15 +399,15 @@ */ int DeviceReply( /* [in] destination IP address. */ - struct sockaddr *DestAddr, + struct sockaddr *DestAddr, /* [in] Device type. */ - char *DevType, + char *DevType, /* [in] 1 means root device 0 means embedded device. */ - int RootDev, + int RootDev, /* [in] Device UDN. */ - char *Udn, + char *Udn, /* [in] Location of Device description document. */ - char *Location, + char *Location, /* [in] Life time of this device. */ int Duration, /* [in] PowerState as defined by UPnP Low Power. */ @@ -431,7 +425,7 @@ */ int ServiceAdvertisement( /* [in] Device UDN. */ - char *Udn, + char *Udn, /* [in] Service Type. */ char *ServType, /* [in] Location of Device description document. */ @@ -455,11 +449,11 @@ */ int ServiceReply( /* [in] . */ - struct sockaddr *DestAddr, + struct sockaddr *DestAddr, /* [in] Service Type. */ - char *ServType, + char *ServType, /* [in] Device UDN. */ - char *Udn, + char *Udn, /* [in] Location of Device description document. */ char *Location, /* [in] Life time of this device. */ @@ -503,13 +497,13 @@ */ int DeviceShutdown( /* [in] Device Type. */ - char *DevType, + char *DevType, /* [in] 1 means root device. */ int RootDev, /* [in] Device UDN. */ - char *Udn, + char *Udn, /* [in] Location URL. */ - char *Location, + char *Location, /* [in] Device duration in sec. */ int Duration, /* [in] Device address family. */ diff -Nru pupnp-1.8-1.8.3/upnp/src/inc/upnpapi.h pupnp-1.8-1.8.4/upnp/src/inc/upnpapi.h --- pupnp-1.8-1.8.3/upnp/src/inc/upnpapi.h 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/upnp/src/inc/upnpapi.h 2018-10-25 14:41:00.000000000 +0000 @@ -172,11 +172,15 @@ struct Handle_Info **HndInfo); /*! * \brief Retrieves the device handle and information of the first device of - * the address family spcified. + * the address family specified. The search begins at the 'start' index, which should + * be 0 for the first call, then the last successful value returned. This allows + * listing all entries for the address family. * * \return HND_DEVICE or HND_INVALID */ Upnp_Handle_Type GetDeviceHandleInfo( + /*! [in] place to start the search (i.e. last value returned). */ + UpnpDevice_Handle start, /*! [in] Address family. */ int AddressFamily, /*! [out] Device handle pointer. */ @@ -184,6 +188,26 @@ /*! [out] Device handle structure passed by this function. */ struct Handle_Info **HndInfo); +/*! + * \brief Retrieves the device handle and information of the first device of + * the address family specified, with a service having a controlURL or + * eventSubURL matching the path. + * + * \return HND_DEVICE or HND_INVALID + */ +Upnp_Handle_Type GetDeviceHandleInfoForPath( + /*! The Uri path. */ + const char *path, + /*! [in] Address family. */ + int AddressFamily, + /*! [out] Device handle pointer. */ + int *device_handle_out, + /*! [out] Device handle structure passed by this function. */ + struct Handle_Info **HndInfo, + /*! [out] Service info for found path. */ + service_info **serv_info + ); + extern char gIF_NAME[LINE_SIZE]; extern char gIF_IPV4[INET_ADDRSTRLEN]; diff -Nru pupnp-1.8-1.8.3/upnp/src/soap/soap_device.c pupnp-1.8-1.8.4/upnp/src/soap/soap_device.c --- pupnp-1.8-1.8.3/upnp/src/soap/soap_device.c 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/upnp/src/soap/soap_device.c 2018-10-25 14:41:00.000000000 +0000 @@ -462,11 +462,9 @@ HandleReadLock(); - if (GetDeviceHandleInfo(AddressFamily, &device_hnd, - &device_info) != HND_DEVICE) + if (GetDeviceHandleInfoForPath(control_url, AddressFamily, &device_hnd, + &device_info, &serv_info) != HND_DEVICE) goto error_handler; - serv_info = FindServiceControlURLPath( - &device_info->ServiceTable, control_url); if (!serv_info) goto error_handler; diff -Nru pupnp-1.8-1.8.3/upnp/src/ssdp/ssdp_ctrlpt.c pupnp-1.8-1.8.4/upnp/src/ssdp/ssdp_ctrlpt.c --- pupnp-1.8-1.8.3/upnp/src/ssdp/ssdp_ctrlpt.c 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/upnp/src/ssdp/ssdp_ctrlpt.c 2018-10-25 14:41:00.000000000 +0000 @@ -1,30 +1,30 @@ /************************************************************************** * - * Copyright (c) 2000-2003 Intel Corporation - * All rights reserved. + * Copyright (c) 2000-2003 Intel Corporation + * All rights reserved. * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: * - * - Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - Neither name of Intel Corporation nor the names of its contributors - * may be used to endorse or promote products derived from this software + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * - Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * - Neither name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * **************************************************************************/ @@ -33,7 +33,7 @@ * \addtogroup SSDPlib * * @{ - * + * * \file */ @@ -75,8 +75,10 @@ SSDPResultData_delete(temp); } -void ssdp_handle_ctrlpt_msg(http_message_t *hmsg, struct sockaddr_storage *dest_addr, - int timeout, void *cookie) +void ssdp_handle_ctrlpt_msg( + http_message_t *hmsg, + struct sockaddr_storage *dest_addr, + int timeout) { int handle; int handle_start; @@ -234,7 +236,7 @@ ctrlpt_cookie = ctrlpt_info->Cookie; HandleUnlock(); - ctrlpt_callback(event_type, ¶m, ctrlpt_cookie); + ctrlpt_callback(event_type, param, ctrlpt_cookie); } } else { /* reply (to a SEARCH) */ diff -Nru pupnp-1.8-1.8.3/upnp/src/ssdp/ssdp_device.c pupnp-1.8-1.8.4/upnp/src/ssdp/ssdp_device.c --- pupnp-1.8-1.8.3/upnp/src/ssdp/ssdp_device.c 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/upnp/src/ssdp/ssdp_device.c 2018-10-25 14:41:00.000000000 +0000 @@ -2,7 +2,7 @@ * * Copyright (c) 2000-2003 Intel Corporation * All rights reserved. - * Copyright (C) 2011-2012 France Telecom 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: @@ -34,7 +34,7 @@ * \addtogroup SSDPlib * * @{ - * + * * \file */ @@ -64,7 +64,7 @@ #define MSGTYPE_ADVERTISEMENT 1 #define MSGTYPE_REPLY 2 -void *advertiseAndReplyThread(void *data) +void advertiseAndReplyThread(void *data) { SsdpSearchReply *arg = (SsdpSearchReply *) data; @@ -74,15 +74,13 @@ arg->event.DeviceType, arg->event.UDN, arg->event.ServiceType, arg->MaxAge); free(arg); - - return NULL; } #ifdef INCLUDE_DEVICE_APIS void ssdp_handle_device_request(http_message_t *hmsg, struct sockaddr_storage *dest_addr) { #define MX_FUDGE_FACTOR 10 - int handle; + int handle, start; struct Handle_Info *dev_info = NULL; memptr hdr_value; int mx; @@ -117,51 +115,55 @@ /* bad ST header. */ return; - HandleLock(); - /* device info. */ - switch (GetDeviceHandleInfo((int)dest_addr->ss_family, - &handle, &dev_info)) { - case HND_DEVICE: - break; - default: + start = 0; + for (;;) { + HandleLock(); + /* device info. */ + switch (GetDeviceHandleInfo(start, (int)dest_addr->ss_family, + &handle, &dev_info)) { + case HND_DEVICE: + break; + default: + HandleUnlock(); + /* no info found. */ + return; + } + maxAge = dev_info->MaxAge; HandleUnlock(); - /* no info found. */ - return; - } - maxAge = dev_info->MaxAge; - HandleUnlock(); - UpnpPrintf(UPNP_PACKET, API, __FILE__, __LINE__, - "MAX-AGE = %d\n", maxAge); - UpnpPrintf(UPNP_PACKET, API, __FILE__, __LINE__, - "MX = %d\n", event.Mx); - UpnpPrintf(UPNP_PACKET, API, __FILE__, __LINE__, - "DeviceType = %s\n", event.DeviceType); - UpnpPrintf(UPNP_PACKET, API, __FILE__, __LINE__, - "DeviceUuid = %s\n", event.UDN); - UpnpPrintf(UPNP_PACKET, API, __FILE__, __LINE__, - "ServiceType = %s\n", event.ServiceType); - threadArg = (SsdpSearchReply *)malloc(sizeof(SsdpSearchReply)); - if (threadArg == NULL) - return; - threadArg->handle = handle; - memcpy(&threadArg->dest_addr, dest_addr, sizeof(threadArg->dest_addr)); - threadArg->event = event; - threadArg->MaxAge = maxAge; - - TPJobInit(&job, advertiseAndReplyThread, threadArg); - TPJobSetFreeFunction(&job, (free_routine) free); - - /* Subtract a percentage from the mx to allow for network and processing - * delays (i.e. if search is for 30 seconds, respond - * within 0 - 27 seconds). */ - if (mx >= 2) - mx -= MAXVAL(1, mx / MX_FUDGE_FACTOR); - if (mx < 1) - mx = 1; - replyTime = rand() % mx; - TimerThreadSchedule(&gTimerThread, replyTime, REL_SEC, &job, - SHORT_TERM, NULL); + UpnpPrintf(UPNP_PACKET, API, __FILE__, __LINE__, + "MAX-AGE = %d\n", maxAge); + UpnpPrintf(UPNP_PACKET, API, __FILE__, __LINE__, + "MX = %d\n", event.Mx); + UpnpPrintf(UPNP_PACKET, API, __FILE__, __LINE__, + "DeviceType = %s\n", event.DeviceType); + UpnpPrintf(UPNP_PACKET, API, __FILE__, __LINE__, + "DeviceUuid = %s\n", event.UDN); + UpnpPrintf(UPNP_PACKET, API, __FILE__, __LINE__, + "ServiceType = %s\n", event.ServiceType); + threadArg = (SsdpSearchReply *)malloc(sizeof(SsdpSearchReply)); + if (threadArg == NULL) + return; + threadArg->handle = handle; + memcpy(&threadArg->dest_addr, dest_addr, sizeof(threadArg->dest_addr)); + threadArg->event = event; + threadArg->MaxAge = maxAge; + + TPJobInit(&job, advertiseAndReplyThread, threadArg); + TPJobSetFreeFunction(&job, (free_routine) free); + + /* Subtract a percentage from the mx to allow for network and processing + * delays (i.e. if search is for 30 seconds, respond + * within 0 - 27 seconds). */ + if (mx >= 2) + mx -= MAXVAL(1, mx / MX_FUDGE_FACTOR); + if (mx < 1) + mx = 1; + replyTime = rand() % mx; + TimerThreadSchedule(&gTimerThread, replyTime, REL_SEC, &job, + SHORT_TERM, NULL); + start = handle; + } } #endif @@ -365,7 +367,7 @@ "RegistrationState: ", RegistrationState); #else - ret_code = http_MakeMessage(&buf, 1, 1, + ret_code = http_MakeMessage(&buf, 1, 1, "R" "sdc" "D" "sc" "ssc" "S" "ssc" "ssc" "sdc" "sdc" "sdcc", HTTP_OK, @@ -455,7 +457,7 @@ RegistrationState); #endif /* UPNP_HAVE_OPTSSDP */ } else { -#ifdef UPNP_HAVE_OPTSSDP +#ifdef UPNP_HAVE_OPTSSDP ret_code = http_MakeMessage(&buf, 1, 1, "Q" "sssdc" "sdc" "ssc" "ssc" "ssc" "ssc" "ssc" "S" "Xc" "sscc", diff -Nru pupnp-1.8-1.8.3/upnp/src/ssdp/ssdp_server.c pupnp-1.8-1.8.4/upnp/src/ssdp/ssdp_server.c --- pupnp-1.8-1.8.3/upnp/src/ssdp/ssdp_server.c 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/upnp/src/ssdp/ssdp_server.c 2018-10-25 14:41:00.000000000 +0000 @@ -1,31 +1,31 @@ /************************************************************************** * - * Copyright (c) 2000-2003 Intel Corporation - * All rights reserved. - * Copyright (C) 2011-2012 France Telecom All rights reserved. + * 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: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: * - * - Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - Neither name of Intel Corporation nor the names of its contributors - * may be used to endorse or promote products derived from this software + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * - Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * - Neither name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * **************************************************************************/ @@ -34,7 +34,7 @@ * \addtogroup SSDPlib * * @{ - * + * * \file */ @@ -210,8 +210,8 @@ SInfo->DescURL, Exp, SInfo->DeviceAf, SInfo->PowerState, - SInfo->SleepPeriod, - SInfo->RegistrationState); + SInfo->SleepPeriod, + SInfo->RegistrationState); } else { /* AdFlag == -1 */ DeviceShutdown(devType, i == 0lu, UDNstr, @@ -247,7 +247,6 @@ UpnpPrintf(UPNP_INFO, API, __FILE__, __LINE__, "DeviceUDN=%s and search UDN=%s DID NOT match\n", UDNstr, DeviceUDN); - break; } else { UpnpPrintf(UPNP_INFO, API, __FILE__, __LINE__, "DeviceUDN=%s and search UDN=%s MATCH\n", @@ -256,9 +255,9 @@ SInfo->PowerState, SInfo->SleepPeriod, SInfo->RegistrationState); - break; } } + break; } case SSDP_DEVICETYPE: { if (!strncasecmp(DeviceType, devType, strlen(DeviceType) - (size_t)2)) { @@ -681,9 +680,7 @@ if (hmsg->method == (http_method_t)HTTPMETHOD_NOTIFY || hmsg->request_method == (http_method_t)HTTPMETHOD_MSEARCH) { #ifdef INCLUDE_CLIENT_APIS - ssdp_handle_ctrlpt_msg(hmsg, - &data->dest_addr, - FALSE, NULL); + ssdp_handle_ctrlpt_msg(hmsg, &data->dest_addr, FALSE); #endif /* INCLUDE_CLIENT_APIS */ } else { ssdp_handle_device_request(hmsg, @@ -883,7 +880,7 @@ error_handler: if (ret != UPNP_E_SUCCESS) { - UpnpCloseSocket(*ssdpSock); + UpnpCloseSocket(*ssdpSock); } return ret; diff -Nru pupnp-1.8-1.8.3/upnp/src/threadutil/TimerThread.c pupnp-1.8-1.8.4/upnp/src/threadutil/TimerThread.c --- pupnp-1.8-1.8.3/upnp/src/threadutil/TimerThread.c 2017-11-14 11:02:53.000000000 +0000 +++ pupnp-1.8-1.8.4/upnp/src/threadutil/TimerThread.c 2018-10-25 14:41:00.000000000 +0000 @@ -1,31 +1,31 @@ /******************************************************************************* * - * Copyright (c) 2000-2003 Intel Corporation - * All rights reserved. - * Copyright (c) 2012 France Telecom All rights reserved. + * 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: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: * - * - Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - Neither name of Intel Corporation nor the names of its contributors - * may be used to endorse or promote products derived from this software + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * - Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * - Neither name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * ******************************************************************************/ @@ -57,7 +57,7 @@ * * Waits for next event to occur and schedules associated job into threadpool. */ -static void *TimerThreadWorker( +static void TimerThreadWorker( /*! [in] arg is cast to (TimerThread *). */ void *arg) { @@ -73,53 +73,53 @@ ithread_mutex_lock( &timer->mutex ); while (1) { - /* mutex should always be locked at top of loop */ + /* mutex should always be locked at top of loop */ /* Check for shutdown. */ - if (timer->shutdown) { - timer->shutdown = 0; - ithread_cond_signal( &timer->condition ); - ithread_mutex_unlock( &timer->mutex ); - return NULL; - } - nextEvent = NULL; - /* 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; - } - currentTime = time(NULL); - /* If time has elapsed, schedule job. */ - if (nextEvent && currentTime >= nextEventTime) { - if( nextEvent->persistent ) { - if (ThreadPoolAddPersistent( timer->tp, &nextEvent->job, &tempId ) != 0) { + if (timer->shutdown) { + timer->shutdown = 0; + ithread_cond_signal( &timer->condition ); + ithread_mutex_unlock( &timer->mutex ); + return; + } + nextEvent = NULL; + /* Get the next event if possible. */ + if (timer->eventQ.size > 0) { + head = ListHead( &timer->eventQ ); + if (head == NULL) { + ithread_mutex_unlock( &timer->mutex ); + return; + } + nextEvent = ( TimerEvent * ) head->item; + nextEventTime = nextEvent->eventTime; + } + currentTime = time(NULL); + /* If time has elapsed, schedule job. */ + if (nextEvent && currentTime >= nextEventTime) { + if( nextEvent->persistent ) { + 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 { - if (ThreadPoolAdd( timer->tp, &nextEvent->job, &tempId ) != 0) { + } else { + 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 ); - continue; - } - if (nextEvent) { - timeToWait.tv_nsec = 0; - timeToWait.tv_sec = (long)nextEvent->eventTime; - ithread_cond_timedwait( &timer->condition, &timer->mutex, - &timeToWait ); - } else { - ithread_cond_wait( &timer->condition, &timer->mutex ); - } + } + ListDelNode( &timer->eventQ, head, 0 ); + FreeTimerEvent( timer, nextEvent ); + continue; + } + if (nextEvent) { + timeToWait.tv_nsec = 0; + timeToWait.tv_sec = (long)nextEvent->eventTime; + ithread_cond_timedwait( &timer->condition, &timer->mutex, + &timeToWait ); + } else { + ithread_cond_wait( &timer->condition, &timer->mutex ); + } } } @@ -128,7 +128,7 @@ * \brief Calculates the appropriate timeout in absolute seconds * since Jan 1, 1970. * - * \return + * \return */ static int CalculateEventTime( /*! [in] Timeout. */ @@ -142,11 +142,11 @@ switch (type) { case ABS_SEC: - return 0; + return 0; default: /* REL_SEC) */ - time(&now); - ( *timeout ) += now; - return 0; + time(&now); + ( *timeout ) += now; + return 0; } return -1; @@ -176,7 +176,7 @@ temp = ( TimerEvent * ) FreeListAlloc( &timer->freeEvents ); if( temp == NULL ) - return temp; + return temp; temp->job = ( *job ); temp->persistent = persistent; temp->eventTime = eventTime; @@ -197,7 +197,7 @@ assert( tp != NULL ); if( ( timer == NULL ) || ( tp == NULL ) ) { - return EINVAL; + return EINVAL; } rc += ithread_mutex_init( &timer->mutex, NULL ); @@ -221,22 +221,22 @@ assert( rc == 0 ); if( rc != 0 ) { - rc = EAGAIN; + rc = EAGAIN; } else { - TPJobInit( &timerThreadWorker, TimerThreadWorker, timer ); - TPJobSetPriority( &timerThreadWorker, HIGH_PRIORITY ); + TPJobInit( &timerThreadWorker, TimerThreadWorker, timer ); + TPJobSetPriority( &timerThreadWorker, HIGH_PRIORITY ); - rc = ThreadPoolAddPersistent( tp, &timerThreadWorker, NULL ); + rc = ThreadPoolAddPersistent( tp, &timerThreadWorker, NULL ); } ithread_mutex_unlock( &timer->mutex ); if( rc != 0 ) { - ithread_cond_destroy( &timer->condition ); - ithread_mutex_destroy( &timer->mutex ); - FreeListDestroy( &timer->freeEvents ); - ListDestroy( &timer->eventQ, 0 ); + ithread_cond_destroy( &timer->condition ); + ithread_mutex_destroy( &timer->mutex ); + FreeListDestroy( &timer->freeEvents ); + ListDestroy( &timer->eventQ, 0 ); } return rc; @@ -262,48 +262,48 @@ assert( job != NULL ); if( ( timer == NULL ) || ( job == NULL ) ) { - return EINVAL; + return EINVAL; } CalculateEventTime( &timeout, type ); ithread_mutex_lock( &timer->mutex ); if( id == NULL ) - id = &tempId; + id = &tempId; ( *id ) = INVALID_EVENT_ID; newEvent = CreateTimerEvent( timer, job, duration, timeout, - timer->lastEventId ); + timer->lastEventId ); if( newEvent == NULL ) { - ithread_mutex_unlock( &timer->mutex ); - return rc; + ithread_mutex_unlock( &timer->mutex ); + return rc; } tempNode = ListHead( &timer->eventQ ); /* add job to Q. Q is ordered by eventTime with the head of the Q being * the next event. */ while( tempNode != NULL ) { - temp = ( TimerEvent * ) tempNode->item; - if( temp->eventTime >= timeout ) { - if (ListAddBefore( &timer->eventQ, newEvent, tempNode)) - rc = 0; - found = 1; - break; - } - tempNode = ListNext( &timer->eventQ, tempNode ); + temp = ( TimerEvent * ) tempNode->item; + if( temp->eventTime >= timeout ) { + if (ListAddBefore( &timer->eventQ, newEvent, tempNode)) + rc = 0; + found = 1; + break; + } + tempNode = ListNext( &timer->eventQ, tempNode ); } /* add to the end of Q. */ if (!found) { - if( ListAddTail( &timer->eventQ, newEvent ) != NULL ) - rc = 0; + if( ListAddTail( &timer->eventQ, newEvent ) != NULL ) + rc = 0; } /* signal change in Q. */ if( rc == 0 ) { - ithread_cond_signal( &timer->condition ); + ithread_cond_signal( &timer->condition ); } else { - FreeTimerEvent( timer, newEvent ); + FreeTimerEvent( timer, newEvent ); } ( *id ) = timer->lastEventId++; ithread_mutex_unlock( &timer->mutex ); @@ -323,7 +323,7 @@ assert( timer != NULL ); if( timer == NULL ) { - return EINVAL; + return EINVAL; } ithread_mutex_lock( &timer->mutex ); @@ -331,18 +331,18 @@ tempNode = ListHead( &timer->eventQ ); while( tempNode != NULL ) { - temp = ( TimerEvent * ) tempNode->item; - if( temp->id == id ) - { - - ListDelNode( &timer->eventQ, tempNode, 0 ); - if( out != NULL ) - ( *out ) = temp->job; - FreeTimerEvent( timer, temp ); - rc = 0; - break; - } - tempNode = ListNext( &timer->eventQ, tempNode ); + temp = ( TimerEvent * ) tempNode->item; + if( temp->id == id ) + { + + ListDelNode( &timer->eventQ, tempNode, 0 ); + if( out != NULL ) + ( *out ) = temp->job; + FreeTimerEvent( timer, temp ); + rc = 0; + break; + } + tempNode = ListNext( &timer->eventQ, tempNode ); } ithread_mutex_unlock( &timer->mutex ); @@ -357,7 +357,7 @@ assert( timer != NULL ); if( timer == NULL ) { - return EINVAL; + return EINVAL; } ithread_mutex_lock( &timer->mutex ); @@ -367,15 +367,15 @@ /* Delete nodes in Q. Call registered free function on argument. */ while( tempNode != NULL ) { - TimerEvent *temp = ( TimerEvent * ) tempNode->item; + TimerEvent *temp = ( TimerEvent * ) tempNode->item; - tempNode2 = ListNext( &timer->eventQ, tempNode ); - ListDelNode( &timer->eventQ, tempNode, 0 ); - if( temp->job.free_func ) { - temp->job.free_func( temp->job.arg ); - } - FreeTimerEvent( timer, temp ); - tempNode = tempNode2; + tempNode2 = ListNext( &timer->eventQ, tempNode ); + ListDelNode( &timer->eventQ, tempNode, 0 ); + if( temp->job.free_func ) { + temp->job.free_func( temp->job.arg ); + } + FreeTimerEvent( timer, temp ); + tempNode = tempNode2; } ListDestroy( &timer->eventQ, 0 ); @@ -385,7 +385,7 @@ while (timer->shutdown) { /* wait for timer thread to shutdown. */ - ithread_cond_wait( &timer->condition, &timer->mutex ); + ithread_cond_wait( &timer->condition, &timer->mutex ); } ithread_mutex_unlock(&timer->mutex);