Update of the build/inc/*.h files. They have not been updated since 1.4.7.

git-svn-id: https://pupnp.svn.sourceforge.net/svnroot/pupnp/trunk@456 119443c7-1b9e-41f8-b6fc-b9c35fce742c
This commit is contained in:
Marcelo Roberto Jimenez
2008-07-23 18:43:02 +00:00
parent 943483e8b7
commit 1548c9044d
4 changed files with 530 additions and 391 deletions

View File

@@ -82,11 +82,14 @@
/* Define to 1 if you have the `vprintf' function. */ /* Define to 1 if you have the `vprintf' function. */
#define HAVE_VPRINTF 1 #define HAVE_VPRINTF 1
/* Define to 1 if you have the <ws2tcpip.h> header file. */
/* #undef HAVE_WS2TCPIP_H */
/* Define to 1 to prevent compilation of assert() */ /* Define to 1 to prevent compilation of assert() */
#define NDEBUG 1 /* #undef NDEBUG */
/* Define to 1 to prevent some debug code */ /* Define to 1 to prevent some debug code */
#define NO_DEBUG 1 /* #undef NO_DEBUG */
/* Define to 1 if your C compiler doesn't accept -c and -o together. */ /* Define to 1 if your C compiler doesn't accept -c and -o together. */
/* #undef NO_MINUS_C_MINUS_O */ /* #undef NO_MINUS_C_MINUS_O */
@@ -101,13 +104,13 @@
#define PACKAGE_NAME "libupnp" #define PACKAGE_NAME "libupnp"
/* Define to the full name and version of this package. */ /* Define to the full name and version of this package. */
#define PACKAGE_STRING "libupnp 1.4.7" #define PACKAGE_STRING "libupnp 1.8.0"
/* Define to the one symbol short name of this package. */ /* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "libupnp" #define PACKAGE_TARNAME "libupnp"
/* Define to the version of this package. */ /* Define to the version of this package. */
#define PACKAGE_VERSION "1.4.7" #define PACKAGE_VERSION "1.8.0"
/* Define to necessary symbol if this constant uses a non-standard name on /* Define to necessary symbol if this constant uses a non-standard name on
your system. */ your system. */
@@ -120,7 +123,7 @@
#define UPNP_HAVE_CLIENT 1 #define UPNP_HAVE_CLIENT 1
/* see upnpconfig.h */ /* see upnpconfig.h */
/* #undef UPNP_HAVE_DEBUG */ #define UPNP_HAVE_DEBUG 1
/* see upnpconfig.h */ /* see upnpconfig.h */
#define UPNP_HAVE_DEVICE 1 #define UPNP_HAVE_DEVICE 1
@@ -131,20 +134,23 @@
/* see upnpconfig.h */ /* see upnpconfig.h */
#define UPNP_HAVE_WEBSERVER 1 #define UPNP_HAVE_WEBSERVER 1
/* Do not use pthread_rwlock_t */
#define UPNP_USE_RWLOCK 1
/* see upnpconfig.h */ /* see upnpconfig.h */
#define UPNP_VERSION_MAJOR 1 #define UPNP_VERSION_MAJOR 1
/* see upnpconfig.h */ /* see upnpconfig.h */
#define UPNP_VERSION_MINOR 4 #define UPNP_VERSION_MINOR 8
/* see upnpconfig.h */ /* see upnpconfig.h */
#define UPNP_VERSION_PATCH 7 #define UPNP_VERSION_PATCH 0
/* see upnpconfig.h */ /* see upnpconfig.h */
#define UPNP_VERSION_STRING "1.4.7" #define UPNP_VERSION_STRING "1.8.0"
/* Version number of package */ /* Version number of package */
#define VERSION "1.4.7" #define VERSION "1.8.0"
/* File Offset size */ /* File Offset size */
#define _FILE_OFFSET_BITS 64 #define _FILE_OFFSET_BITS 64
@@ -164,5 +170,5 @@
/* Define to `unsigned int' if <sys/types.h> does not define. */ /* Define to `unsigned int' if <sys/types.h> does not define. */
/* #undef size_t */ /* #undef size_t */
/* Substitute for socklen_t */ /* Type for storing the length of struct sockaddr */
/* #undef socklen_t */ /* #undef socklen_t */

View File

@@ -1,33 +1,34 @@
/////////////////////////////////////////////////////////////////////////// /**************************************************************************
// *
// Copyright (c) 2000-2003 Intel Corporation * Copyright (c) 2000-2003 Intel Corporation
// All rights reserved. * All rights reserved.
// *
// Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are met: * modification, are permitted provided that the following conditions are met:
// *
// * Redistributions of source code must retain the above copyright notice, * - Redistributions of source code must retain the above copyright notice,
// this list of conditions and the following disclaimer. * this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above copyright notice, * - Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation * this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution. * and/or other materials provided with the distribution.
// * Neither name of Intel Corporation nor the names of its contributors * - Neither name of Intel Corporation nor the names of its contributors
// may be used to endorse or promote products derived from this software * may be used to endorse or promote products derived from this software
// without specific prior written permission. * without specific prior written permission.
// *
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL OR * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL OR
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * 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. * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
// *
/////////////////////////////////////////////////////////////////////////// **************************************************************************/
#ifndef INTERNAL_CONFIG_H #ifndef INTERNAL_CONFIG_H
#define INTERNAL_CONFIG_H #define INTERNAL_CONFIG_H
@@ -36,114 +37,147 @@
#include "autoconfig.h" #include "autoconfig.h"
/** @name Compile time configuration options /*!
* \name Compile time configuration options
*
* The Linux SDK for UPnP Devices contains some compile-time parameters * The Linux SDK for UPnP Devices contains some compile-time parameters
* that effect the behavior of the SDK. All configuration options are * that effect the behavior of the SDK. All configuration options are
* located in {\tt src/inc/config.h}. * located in {\tt src/inc/config.h}.
*
* @{
*/ */
//@{
/** @name THREAD_IDLE_TIME
/*!
* \name THREAD_IDLE_TIME
*
* The {\tt THREAD_IDLE_TIME} constant determines when a thread will be * The {\tt THREAD_IDLE_TIME} constant determines when a thread will be
* removed from the thread pool and returned to the operating system. When * removed from the thread pool and returned to the operating system. When
* a thread in the thread pool has been idle for this number of milliseconds * a thread in the thread pool has been idle for this number of milliseconds
* the thread will be released from the thread pool. The default value is * the thread will be released from the thread pool. The default value is
* 5000 milliseconds (5 seconds). * 5000 milliseconds (5 seconds).
*
* @{
*/ */
//@{
#define THREAD_IDLE_TIME 5000 #define THREAD_IDLE_TIME 5000
//@} /* @} */
/** @name JOBS_PER_THREAD
* The {\tt JOBS_PER_THREAD} constant determines when a new thread will be /*!
* allocated to the thread pool inside the SDK. The thread pool will * \name JOBS_PER_THREAD
* try and maintain this jobs/thread ratio. When the jobs/thread ratio *
* becomes greater than this, then a new thread (up to the max) will be * The {\tt JOBS_PER_THREAD} constant determines when a new thread will be
* allocated to the thread pool. The default ratio is 10 jobs/thread. * allocated to the thread pool inside the SDK. The thread pool will
* try and maintain this jobs/thread ratio. When the jobs/thread ratio
* becomes greater than this, then a new thread (up to the max) will be
* allocated to the thread pool. The default ratio is 10 jobs/thread.
*
* @{
*/ */
//@{
#define JOBS_PER_THREAD 10 #define JOBS_PER_THREAD 10
//@} /* @} */
/** @name MIN_THREADS
* The {\tt MIN_THREADS} constant defines the minimum number of threads the /*!
* thread pool inside the SDK will create. The thread pool will * \name MIN_THREADS
* always have this number of threads. These threads are used *
* for both callbacks into applications built on top of the SDK and also * The {\tt MIN_THREADS} constant defines the minimum number of threads the
* for making connections to other control points and devices. This number * thread pool inside the SDK will create. The thread pool will
* includes persistent threads. The default value is two threads. * always have this number of threads. These threads are used
* for both callbacks into applications built on top of the SDK and also
* for making connections to other control points and devices. This number
* includes persistent threads. The default value is two threads.
*
* @{
*/ */
//@{
#define MIN_THREADS 2 #define MIN_THREADS 2
//@} /* @} */
/** @name MAX_THREADS
* The {\tt MAX_THREADS} constant defines the maximum number of threads the /*!
* thread pool inside the SDK will create. These threads are used * \name MAX_THREADS
* for both callbacks into applications built on top of the library and also *
* for making connections to other control points and devices. It is not * The {\tt MAX_THREADS} constant defines the maximum number of threads the
* recommended that this value be below 10, since the threads are * thread pool inside the SDK will create. These threads are used
* necessary for correct operation. This value can be increased for greater * for both callbacks into applications built on top of the library and also
* performance in operation at the expense of greater memory overhead. The * for making connections to other control points and devices. It is not
* default value is 12. * recommended that this value be below 10, since the threads are
* necessary for correct operation. This value can be increased for greater
* performance in operation at the expense of greater memory overhead. The
* default value is 12.
*
* @{
*/ */
//@{
#define MAX_THREADS 12 #define MAX_THREADS 12
//@} /* @} */
/** @name MAX_JOBS_TOTAL
/*! \name MAX_JOBS_TOTAL
*
* The {\tt MAX_JOBS_TOTAL} constant determines the maximum number of jobs * The {\tt MAX_JOBS_TOTAL} constant determines the maximum number of jobs
* that can be queued. If this limit is reached further jobs will be thrown * that can be queued. If this limit is reached further jobs will be thrown
* to avoid memory exhaustion. The default value 100. * to avoid memory exhaustion. The default value 100.
* (Added by Axis.) * (Added by Axis.)
*
* @{
*/ */
//@{
#define MAX_JOBS_TOTAL 100 #define MAX_JOBS_TOTAL 100
//@} /* @} */
/** @name DEFAULT_SOAP_CONTENT_LENGTH
/*!
* \name DEFAULT_SOAP_CONTENT_LENGTH
*
* SOAP messages will read at most {\tt DEFAULT_SOAP_CONTENT_LENGTH} bytes. * SOAP messages will read at most {\tt DEFAULT_SOAP_CONTENT_LENGTH} bytes.
* This prevents devices that have a misbehaving web server to send * This prevents devices that have a misbehaving web server to send
* a large amount of data to the control point causing it to crash. * a large amount of data to the control point causing it to crash.
* This can be adjusted dynamically with {\tt UpnpSetMaxContentLength}. * This can be adjusted dynamically with {\tt UpnpSetMaxContentLength}.
*
* @{
*/ */
//@{
#define DEFAULT_SOAP_CONTENT_LENGTH 16000 #define DEFAULT_SOAP_CONTENT_LENGTH 16000
//@} /* @} */
/** @name NUM_SSDP_COPY
/*!
* \name NUM_SSDP_COPY
*
* This configuration parameter determines how many copies of each SSDP * This configuration parameter determines how many copies of each SSDP
* advertisement and search packets will be sent. By default it will send two * advertisement and search packets will be sent. By default it will send two
* copies of every packet. * copies of every packet.
*
* @{
*/ */
//@{
#define NUM_SSDP_COPY 2 #define NUM_SSDP_COPY 2
//@} /* @} */
/** @name SSDP_PAUSE
/*!
* \name SSDP_PAUSE
*
* This configuration parameter determines the pause between identical SSDP * This configuration parameter determines the pause between identical SSDP
* advertisement and search packets. The pause is measured in milliseconds * advertisement and search packets. The pause is measured in milliseconds
* and defaults to 100. * and defaults to 100.
*
* @{
*/ */
//@{
#define SSDP_PAUSE 100 #define SSDP_PAUSE 100
//@} /* @} */
/** @name WEB_SERVER_BUF_SIZE /*!
* \name WEB_SERVER_BUF_SIZE
*
* This configuration parameter sets the maximum buffer size for the * This configuration parameter sets the maximum buffer size for the
* webserver. The default value is 1MB. * webserver. The default value is 1MB.
*
* @{
*/ */
//@{
#define WEB_SERVER_BUF_SIZE (1024*1024) #define WEB_SERVER_BUF_SIZE (1024*1024)
//@} /* @} */
/** @name AUTO_RENEW_TIME /*!
* \name AUTO_RENEW_TIME
*
* The {\tt AUTO_RENEW_TIME} is the time, in seconds, before a subscription * The {\tt AUTO_RENEW_TIME} is the time, in seconds, before a subscription
* expires that the SDK automatically resubscribes. The default * expires that the SDK automatically resubscribes. The default
* value is 10 seconds. Setting this value too low can result in the * value is 10 seconds. Setting this value too low can result in the
@@ -151,89 +185,104 @@
* subscription to timeout. In order to avoid continually resubscribing * subscription to timeout. In order to avoid continually resubscribing
* the minimum subscription time is five seconds more than the auto renew * the minimum subscription time is five seconds more than the auto renew
* time. * time.
*
* @{
*/ */
//@{
#define AUTO_RENEW_TIME 10 #define AUTO_RENEW_TIME 10
//@} /* @} */
/** @name CP_MINIMUM_SUBSCRIPTION_TIME /*!
* \name CP_MINIMUM_SUBSCRIPTION_TIME
*
* The {\tt CP_MINIMUM_SUBSCRIPTION_TIME} is the minimum subscription time * The {\tt CP_MINIMUM_SUBSCRIPTION_TIME} is the minimum subscription time
* allowed for a control point using the SDK. Subscribing for less than * allowed for a control point using the SDK. Subscribing for less than
* this time automatically results in a subscription for this amount. The * this time automatically results in a subscription for this amount. The
* default value is 5 seconds more than the {\tt AUTO_RENEW_TIME}, or 15 * default value is 5 seconds more than the {\tt AUTO_RENEW_TIME}, or 15
* seconds. * seconds.
*
* @{
*/ */
//@{
#define CP_MINIMUM_SUBSCRIPTION_TIME (AUTO_RENEW_TIME + 5) #define CP_MINIMUM_SUBSCRIPTION_TIME (AUTO_RENEW_TIME + 5)
//@} /* @} */
/** @name MAX_SEARCH_TIME
/*!
* \name MAX_SEARCH_TIME
*
* The {\tt MAX_SEARCH_TIME} is the maximum time * The {\tt MAX_SEARCH_TIME} is the maximum time
* allowed for an SSDP search by a control point. Searching for greater than * allowed for an SSDP search by a control point. Searching for greater than
* this time automatically results in a search for this amount. The default * this time automatically results in a search for this amount. The default
* value is 80 seconds. * value is 80 seconds.
*
* @{
*/ */
//@{
#define MAX_SEARCH_TIME 80 #define MAX_SEARCH_TIME 80
//@} /* @} */
/** @name MIN_SEARCH_TIME
/*!
* \name MIN_SEARCH_TIME
*
* The {\tt MIN_SEARCH_TIME} is the minimumm time * The {\tt MIN_SEARCH_TIME} is the minimumm time
* allowed for an SSDP search by a control point. Searching for less than * allowed for an SSDP search by a control point. Searching for less than
* this time automatically results in a search for this amount. The default * this time automatically results in a search for this amount. The default
* value is 2 seconds. * value is 2 seconds.
*/
//@{
#define MIN_SEARCH_TIME 2
//@}
/** @name AUTO_ADVERTISEMENT_TIME
* The {\tt AUTO_ADVERTISEMENT_TIME} is the time, in seconds, before an
* device advertisements expires before a renewed advertisement is sent.
* The default time is 30 seconds.
*/
//@{
#define AUTO_ADVERTISEMENT_TIME 30
//@}
/** @name SSDP_PACKET_DISTRIBUTE
* The {\tt SSDP_PACKET_DISTRIBUTE} enables the SSDP packets to be sent
* at an interval equal to half of the expiration time of SSDP packets
* minus the AUTO_ADVERTISEMENT_TIME. This is used to increase
* the probability of SSDP packets reaching to control points.
* It is recommended that this flag be turned on for embedded wireless
* devices.
*/
//@{
#define SSDP_PACKET_DISTRIBUTE 1
//@}
/** @name Module Exclusion
* Depending on the requirements, the user can selectively discard any of
* the major modules like SOAP, GENA, SSDP or the Internal web server. By
* default everything is included inside the SDK. By setting any of
* the values below to 0, that component will not be included in the final
* SDK.
* \begin{itemize}
* \item {\tt EXCLUDE_SOAP[0,1]}
* \item {\tt EXCLUDE_GENA[0,1]}
* \item {\tt EXCLUDE_SSDP[0,1]}
* \item {\tt EXCLUDE_DOM [0,1]}
* \item {\tt EXCLUDE_MINISERVER[0,1]}
* \item {\tt EXCLUDE_WEB_SERVER[0,1]}
* \item {\tt EXCLUDE_JNI[0,1]}
* \end{itemize}
* *
* @{
*/ */
#define MIN_SEARCH_TIME 2
/* @} */
//@{
/*!
* \name AUTO_ADVERTISEMENT_TIME
*
* The {\tt AUTO_ADVERTISEMENT_TIME} is the time, in seconds, before an
* device advertisements expires before a renewed advertisement is sent.
* The default time is 30 seconds.
*
* @{
*/
#define AUTO_ADVERTISEMENT_TIME 30
/* @} */
/*!
* \name SSDP_PACKET_DISTRIBUTE
*
* The {\tt SSDP_PACKET_DISTRIBUTE} enables the SSDP packets to be sent
* at an interval equal to half of the expiration time of SSDP packets
* minus the AUTO_ADVERTISEMENT_TIME. This is used to increase
* the probability of SSDP packets reaching to control points.
* It is recommended that this flag be turned on for embedded wireless
* devices.
*
* @{
*/
#define SSDP_PACKET_DISTRIBUTE 1
/* @} */
/*!
* \name Module Exclusion
*
* Depending on the requirements, the user can selectively discard any of
* the major modules like SOAP, GENA, SSDP or the Internal web server. By
* default everything is included inside the SDK. By setting any of
* the values below to 0, that component will not be included in the final
* SDK.
* \begin{itemize}
* \item {\tt EXCLUDE_SOAP[0,1]}
* \item {\tt EXCLUDE_GENA[0,1]}
* \item {\tt EXCLUDE_SSDP[0,1]}
* \item {\tt EXCLUDE_DOM [0,1]}
* \item {\tt EXCLUDE_MINISERVER[0,1]}
* \item {\tt EXCLUDE_WEB_SERVER[0,1]}
* \item {\tt EXCLUDE_JNI[0,1]}
* \end{itemize}
*
* @{
*/
#define EXCLUDE_SSDP 0 #define EXCLUDE_SSDP 0
#define EXCLUDE_SOAP 0 #define EXCLUDE_SOAP 0
#define EXCLUDE_GENA 0 #define EXCLUDE_GENA 0
@@ -245,24 +294,28 @@
#else #else
# define EXCLUDE_JNI 1 # define EXCLUDE_JNI 1
#endif #endif
//@} /* @} */
/** @name DEBUG_TARGET /*!
* The user has the option to redirect the library output debug messages * \name DEBUG_TARGET
* to either the screen or to a log file. All the output messages with *
* debug level 0 will go to {\tt upnp.err} and messages with debug level * The user has the option to redirect the library output debug messages
* greater than zero will be redirected to {\tt upnp.out}. * to either the screen or to a log file. All the output messages with
* debug level 0 will go to {\tt upnp.err} and messages with debug level
* greater than zero will be redirected to {\tt upnp.out}.
*
* @{
*/ */
//@{
#define DEBUG_TARGET 1 #define DEBUG_TARGET 1
//@} /* @} */
/** @name Other debugging features /*!
The UPnP SDK contains other features to aid in debugging: * \name Other debugging features
see <upnp/inc/upnpdebug.h> *
* The UPnP SDK contains other features to aid in debugging:
* see <upnp/inc/upnpdebug.h>
*/ */
#define DEBUG_ALL 1 #define DEBUG_ALL 1
@@ -275,38 +328,46 @@
#define DEBUG_HTTP 0 #define DEBUG_HTTP 0
#define DEBUG_API 0 #define DEBUG_API 0
//@} // Compile time configuration options
/*
* @} Compile time configuration options
*/
/*************************************************************************** /***************************************************************************
* Do not change, Internal purpose only!!! * Do not change, Internal purpose only!!!
***************************************************************************/ ***************************************************************************/
//@{ /*!
* @{
*/
/* /*
* Set additional defines based on requested configuration * Set additional defines based on requested configuration
*/ */
// configure --enable-client
/* configure --enable-client */
#if UPNP_HAVE_CLIENT #if UPNP_HAVE_CLIENT
# define INCLUDE_CLIENT_APIS 1 # define INCLUDE_CLIENT_APIS 1
#endif #endif
// configure --enable-device
/* configure --enable-device */
#if UPNP_HAVE_DEVICE #if UPNP_HAVE_DEVICE
# define INCLUDE_DEVICE_APIS 1 # define INCLUDE_DEVICE_APIS 1
#endif #endif
// configure --enable-webserver --enable-device
/* configure --enable-webserver --enable-device */
#if UPNP_HAVE_WEBSERVER #if UPNP_HAVE_WEBSERVER
# define INTERNAL_WEB_SERVER 1 # define INTERNAL_WEB_SERVER 1
#endif #endif
#undef EXCLUDE_WEB_SERVER
#undef EXCLUDE_WEB_SERVER #undef EXCLUDE_MINISERVER
#undef EXCLUDE_MINISERVER
#ifdef INTERNAL_WEB_SERVER #ifdef INTERNAL_WEB_SERVER
# define EXCLUDE_WEB_SERVER 0 # define EXCLUDE_WEB_SERVER 0
# define EXCLUDE_MINISERVER 0 # define EXCLUDE_MINISERVER 0
@@ -315,16 +376,18 @@
# define EXCLUDE_MINISERVER 1 # define EXCLUDE_MINISERVER 1
#endif #endif
#if EXCLUDE_GENA == 1 && EXCLUDE_SOAP == 1 && EXCLUDE_WEB_SERVER == 1 #if EXCLUDE_GENA == 1 && EXCLUDE_SOAP == 1 && EXCLUDE_WEB_SERVER == 1
# undef EXCLUDE_MINISERVER # undef EXCLUDE_MINISERVER
# define EXCLUDE_MINISERVER 1 # define EXCLUDE_MINISERVER 1
# if INTERNAL_WEB_SERVER # if INTERNAL_WEB_SERVER
# error "conflicting settings: use configure --disable-webserver" # error "conflicting settings: use configure --disable-webserver"
# endif # endif
#endif #endif
#if EXCLUDE_GENA == 0 || EXCLUDE_SOAP == 0 || EXCLUDE_WEB_SERVER == 0 #if EXCLUDE_GENA == 0 || EXCLUDE_SOAP == 0 || EXCLUDE_WEB_SERVER == 0
# undef EXCLUDE_MINISERVER # undef EXCLUDE_MINISERVER
# define EXCLUDE_MINISERVER 0 # define EXCLUDE_MINISERVER 0
# if EXCLUDE_WEB_SERVER == 0 && !defined INTERNAL_WEB_SERVER # if EXCLUDE_WEB_SERVER == 0 && !defined INTERNAL_WEB_SERVER
# error "conflicting settings : use configure --enable-webserver" # error "conflicting settings : use configure --enable-webserver"
@@ -332,13 +395,17 @@
#endif #endif
#ifdef INCLUDE_CLIENT_APIS #ifdef INCLUDE_CLIENT_APIS
# define CLIENTONLY(x) x # define CLIENTONLY(x) x
#else #else /* INCLUDE_CLIENT_APIS */
# define CLIENTONLY(x) # define CLIENTONLY(x)
#endif #endif /* INCLUDE_CLIENT_APIS */
//@}
#endif /*
* @}
*/
#endif /* INTERNAL_CONFIG_H */

View File

@@ -1,35 +1,35 @@
/* upnp/inc/upnpconfig.h. Generated from upnpconfig.h.in by configure. */ /* upnp/inc/upnpconfig.h. Generated from upnpconfig.h.in by configure. */
// -*- C -*- /* -*- C -*- */
/////////////////////////////////////////////////////////////////////////// /*******************************************************************************
// *
// Copyright (c) 2006 R<>mi Turboult <r3mi@users.sourceforge.net> * Copyright (c) 2006 R<>mi Turboult <r3mi@users.sourceforge.net>
// All rights reserved. * All rights reserved.
// *
// Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are met: * modification, are permitted provided that the following conditions are met:
// *
// * Redistributions of source code must retain the above copyright notice, * * Redistributions of source code must retain the above copyright notice,
// this list of conditions and the following disclaimer. * this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above copyright notice, * * Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation * this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution. * and/or other materials provided with the distribution.
// * Neither name of Intel Corporation nor the names of its contributors * * Neither name of Intel Corporation nor the names of its contributors
// may be used to endorse or promote products derived from this software * may be used to endorse or promote products derived from this software
// without specific prior written permission. * without specific prior written permission.
// *
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL OR * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL OR
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * 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. * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
// *
/////////////////////////////////////////////////////////////////////////// ******************************************************************************/
#ifndef UPNP_CONFIG_H #ifndef UPNP_CONFIG_H
#define UPNP_CONFIG_H #define UPNP_CONFIG_H
@@ -40,16 +40,16 @@
***************************************************************************/ ***************************************************************************/
/** The library version (string) e.g. "1.3.0" */ /** The library version (string) e.g. "1.3.0" */
#define UPNP_VERSION_STRING "1.4.7" #define UPNP_VERSION_STRING "1.8.0"
/** Major version of the library */ /** Major version of the library */
#define UPNP_VERSION_MAJOR 1 #define UPNP_VERSION_MAJOR 1
/** Minor version of the library */ /** Minor version of the library */
#define UPNP_VERSION_MINOR 4 #define UPNP_VERSION_MINOR 8
/** Patch version of the library */ /** Patch version of the library */
#define UPNP_VERSION_PATCH 7 #define UPNP_VERSION_PATCH 0
/** The library version (numeric) e.g. 10300 means version 1.3.0 */ /** The library version (numeric) e.g. 10300 means version 1.3.0 */
#define UPNP_VERSION \ #define UPNP_VERSION \
@@ -69,7 +69,7 @@
/** Defined to 1 if the library has been compiled with DEBUG enabled /** Defined to 1 if the library has been compiled with DEBUG enabled
* (i.e. configure --enable-debug) : <upnp/upnpdebug.h> file is available */ * (i.e. configure --enable-debug) : <upnp/upnpdebug.h> file is available */
/* #undef UPNP_HAVE_DEBUG */ #define UPNP_HAVE_DEBUG 1
/** Defined to 1 if the library has been compiled with client API enabled /** Defined to 1 if the library has been compiled with client API enabled
@@ -92,6 +92,5 @@
#define UPNP_HAVE_TOOLS 1 #define UPNP_HAVE_TOOLS 1
#endif // UPNP_CONFIG_H #endif /* UPNP_CONFIG_H */

View File

@@ -1,33 +1,34 @@
/////////////////////////////////////////////////////////////////////////// /**************************************************************************
// *
// Copyright (c) 2000-2003 Intel Corporation * Copyright (c) 2000-2003 Intel Corporation
// All rights reserved. * All rights reserved.
// *
// Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are met: * modification, are permitted provided that the following conditions are met:
// *
// * Redistributions of source code must retain the above copyright notice, * - Redistributions of source code must retain the above copyright notice,
// this list of conditions and the following disclaimer. * this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above copyright notice, * - Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation * this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution. * and/or other materials provided with the distribution.
// * Neither name of Intel Corporation nor the names of its contributors * - Neither name of Intel Corporation nor the names of its contributors
// may be used to endorse or promote products derived from this software * may be used to endorse or promote products derived from this software
// without specific prior written permission. * without specific prior written permission.
// *
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL OR * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL OR
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * 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. * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
// *
/////////////////////////////////////////////////////////////////////////// **************************************************************************/
#ifndef INTERNAL_CONFIG_H #ifndef INTERNAL_CONFIG_H
#define INTERNAL_CONFIG_H #define INTERNAL_CONFIG_H
@@ -36,114 +37,147 @@
#include "autoconfig.h" #include "autoconfig.h"
/** @name Compile time configuration options /*!
* \name Compile time configuration options
*
* The Linux SDK for UPnP Devices contains some compile-time parameters * The Linux SDK for UPnP Devices contains some compile-time parameters
* that effect the behavior of the SDK. All configuration options are * that effect the behavior of the SDK. All configuration options are
* located in {\tt src/inc/config.h}. * located in {\tt src/inc/config.h}.
*
* @{
*/ */
//@{
/** @name THREAD_IDLE_TIME
/*!
* \name THREAD_IDLE_TIME
*
* The {\tt THREAD_IDLE_TIME} constant determines when a thread will be * The {\tt THREAD_IDLE_TIME} constant determines when a thread will be
* removed from the thread pool and returned to the operating system. When * removed from the thread pool and returned to the operating system. When
* a thread in the thread pool has been idle for this number of milliseconds * a thread in the thread pool has been idle for this number of milliseconds
* the thread will be released from the thread pool. The default value is * the thread will be released from the thread pool. The default value is
* 5000 milliseconds (5 seconds). * 5000 milliseconds (5 seconds).
*
* @{
*/ */
//@{
#define THREAD_IDLE_TIME 5000 #define THREAD_IDLE_TIME 5000
//@} /* @} */
/** @name JOBS_PER_THREAD
* The {\tt JOBS_PER_THREAD} constant determines when a new thread will be /*!
* allocated to the thread pool inside the SDK. The thread pool will * \name JOBS_PER_THREAD
* try and maintain this jobs/thread ratio. When the jobs/thread ratio *
* becomes greater than this, then a new thread (up to the max) will be * The {\tt JOBS_PER_THREAD} constant determines when a new thread will be
* allocated to the thread pool. The default ratio is 10 jobs/thread. * allocated to the thread pool inside the SDK. The thread pool will
* try and maintain this jobs/thread ratio. When the jobs/thread ratio
* becomes greater than this, then a new thread (up to the max) will be
* allocated to the thread pool. The default ratio is 10 jobs/thread.
*
* @{
*/ */
//@{
#define JOBS_PER_THREAD 10 #define JOBS_PER_THREAD 10
//@} /* @} */
/** @name MIN_THREADS
* The {\tt MIN_THREADS} constant defines the minimum number of threads the /*!
* thread pool inside the SDK will create. The thread pool will * \name MIN_THREADS
* always have this number of threads. These threads are used *
* for both callbacks into applications built on top of the SDK and also * The {\tt MIN_THREADS} constant defines the minimum number of threads the
* for making connections to other control points and devices. This number * thread pool inside the SDK will create. The thread pool will
* includes persistent threads. The default value is two threads. * always have this number of threads. These threads are used
* for both callbacks into applications built on top of the SDK and also
* for making connections to other control points and devices. This number
* includes persistent threads. The default value is two threads.
*
* @{
*/ */
//@{
#define MIN_THREADS 2 #define MIN_THREADS 2
//@} /* @} */
/** @name MAX_THREADS
* The {\tt MAX_THREADS} constant defines the maximum number of threads the /*!
* thread pool inside the SDK will create. These threads are used * \name MAX_THREADS
* for both callbacks into applications built on top of the library and also *
* for making connections to other control points and devices. It is not * The {\tt MAX_THREADS} constant defines the maximum number of threads the
* recommended that this value be below 10, since the threads are * thread pool inside the SDK will create. These threads are used
* necessary for correct operation. This value can be increased for greater * for both callbacks into applications built on top of the library and also
* performance in operation at the expense of greater memory overhead. The * for making connections to other control points and devices. It is not
* default value is 12. * recommended that this value be below 10, since the threads are
* necessary for correct operation. This value can be increased for greater
* performance in operation at the expense of greater memory overhead. The
* default value is 12.
*
* @{
*/ */
//@{
#define MAX_THREADS 12 #define MAX_THREADS 12
//@} /* @} */
/** @name MAX_JOBS_TOTAL
/*! \name MAX_JOBS_TOTAL
*
* The {\tt MAX_JOBS_TOTAL} constant determines the maximum number of jobs * The {\tt MAX_JOBS_TOTAL} constant determines the maximum number of jobs
* that can be queued. If this limit is reached further jobs will be thrown * that can be queued. If this limit is reached further jobs will be thrown
* to avoid memory exhaustion. The default value 100. * to avoid memory exhaustion. The default value 100.
* (Added by Axis.) * (Added by Axis.)
*
* @{
*/ */
//@{
#define MAX_JOBS_TOTAL 100 #define MAX_JOBS_TOTAL 100
//@} /* @} */
/** @name DEFAULT_SOAP_CONTENT_LENGTH
/*!
* \name DEFAULT_SOAP_CONTENT_LENGTH
*
* SOAP messages will read at most {\tt DEFAULT_SOAP_CONTENT_LENGTH} bytes. * SOAP messages will read at most {\tt DEFAULT_SOAP_CONTENT_LENGTH} bytes.
* This prevents devices that have a misbehaving web server to send * This prevents devices that have a misbehaving web server to send
* a large amount of data to the control point causing it to crash. * a large amount of data to the control point causing it to crash.
* This can be adjusted dynamically with {\tt UpnpSetMaxContentLength}. * This can be adjusted dynamically with {\tt UpnpSetMaxContentLength}.
*
* @{
*/ */
//@{
#define DEFAULT_SOAP_CONTENT_LENGTH 16000 #define DEFAULT_SOAP_CONTENT_LENGTH 16000
//@} /* @} */
/** @name NUM_SSDP_COPY
/*!
* \name NUM_SSDP_COPY
*
* This configuration parameter determines how many copies of each SSDP * This configuration parameter determines how many copies of each SSDP
* advertisement and search packets will be sent. By default it will send two * advertisement and search packets will be sent. By default it will send two
* copies of every packet. * copies of every packet.
*
* @{
*/ */
//@{
#define NUM_SSDP_COPY 2 #define NUM_SSDP_COPY 2
//@} /* @} */
/** @name SSDP_PAUSE
/*!
* \name SSDP_PAUSE
*
* This configuration parameter determines the pause between identical SSDP * This configuration parameter determines the pause between identical SSDP
* advertisement and search packets. The pause is measured in milliseconds * advertisement and search packets. The pause is measured in milliseconds
* and defaults to 100. * and defaults to 100.
*
* @{
*/ */
//@{
#define SSDP_PAUSE 100 #define SSDP_PAUSE 100
//@} /* @} */
/** @name WEB_SERVER_BUF_SIZE /*!
* \name WEB_SERVER_BUF_SIZE
*
* This configuration parameter sets the maximum buffer size for the * This configuration parameter sets the maximum buffer size for the
* webserver. The default value is 1MB. * webserver. The default value is 1MB.
*
* @{
*/ */
//@{
#define WEB_SERVER_BUF_SIZE (1024*1024) #define WEB_SERVER_BUF_SIZE (1024*1024)
//@} /* @} */
/** @name AUTO_RENEW_TIME /*!
* \name AUTO_RENEW_TIME
*
* The {\tt AUTO_RENEW_TIME} is the time, in seconds, before a subscription * The {\tt AUTO_RENEW_TIME} is the time, in seconds, before a subscription
* expires that the SDK automatically resubscribes. The default * expires that the SDK automatically resubscribes. The default
* value is 10 seconds. Setting this value too low can result in the * value is 10 seconds. Setting this value too low can result in the
@@ -151,89 +185,104 @@
* subscription to timeout. In order to avoid continually resubscribing * subscription to timeout. In order to avoid continually resubscribing
* the minimum subscription time is five seconds more than the auto renew * the minimum subscription time is five seconds more than the auto renew
* time. * time.
*
* @{
*/ */
//@{
#define AUTO_RENEW_TIME 10 #define AUTO_RENEW_TIME 10
//@} /* @} */
/** @name CP_MINIMUM_SUBSCRIPTION_TIME /*!
* \name CP_MINIMUM_SUBSCRIPTION_TIME
*
* The {\tt CP_MINIMUM_SUBSCRIPTION_TIME} is the minimum subscription time * The {\tt CP_MINIMUM_SUBSCRIPTION_TIME} is the minimum subscription time
* allowed for a control point using the SDK. Subscribing for less than * allowed for a control point using the SDK. Subscribing for less than
* this time automatically results in a subscription for this amount. The * this time automatically results in a subscription for this amount. The
* default value is 5 seconds more than the {\tt AUTO_RENEW_TIME}, or 15 * default value is 5 seconds more than the {\tt AUTO_RENEW_TIME}, or 15
* seconds. * seconds.
*
* @{
*/ */
//@{
#define CP_MINIMUM_SUBSCRIPTION_TIME (AUTO_RENEW_TIME + 5) #define CP_MINIMUM_SUBSCRIPTION_TIME (AUTO_RENEW_TIME + 5)
//@} /* @} */
/** @name MAX_SEARCH_TIME
/*!
* \name MAX_SEARCH_TIME
*
* The {\tt MAX_SEARCH_TIME} is the maximum time * The {\tt MAX_SEARCH_TIME} is the maximum time
* allowed for an SSDP search by a control point. Searching for greater than * allowed for an SSDP search by a control point. Searching for greater than
* this time automatically results in a search for this amount. The default * this time automatically results in a search for this amount. The default
* value is 80 seconds. * value is 80 seconds.
*
* @{
*/ */
//@{
#define MAX_SEARCH_TIME 80 #define MAX_SEARCH_TIME 80
//@} /* @} */
/** @name MIN_SEARCH_TIME
/*!
* \name MIN_SEARCH_TIME
*
* The {\tt MIN_SEARCH_TIME} is the minimumm time * The {\tt MIN_SEARCH_TIME} is the minimumm time
* allowed for an SSDP search by a control point. Searching for less than * allowed for an SSDP search by a control point. Searching for less than
* this time automatically results in a search for this amount. The default * this time automatically results in a search for this amount. The default
* value is 2 seconds. * value is 2 seconds.
*/
//@{
#define MIN_SEARCH_TIME 2
//@}
/** @name AUTO_ADVERTISEMENT_TIME
* The {\tt AUTO_ADVERTISEMENT_TIME} is the time, in seconds, before an
* device advertisements expires before a renewed advertisement is sent.
* The default time is 30 seconds.
*/
//@{
#define AUTO_ADVERTISEMENT_TIME 30
//@}
/** @name SSDP_PACKET_DISTRIBUTE
* The {\tt SSDP_PACKET_DISTRIBUTE} enables the SSDP packets to be sent
* at an interval equal to half of the expiration time of SSDP packets
* minus the AUTO_ADVERTISEMENT_TIME. This is used to increase
* the probability of SSDP packets reaching to control points.
* It is recommended that this flag be turned on for embedded wireless
* devices.
*/
//@{
#define SSDP_PACKET_DISTRIBUTE 1
//@}
/** @name Module Exclusion
* Depending on the requirements, the user can selectively discard any of
* the major modules like SOAP, GENA, SSDP or the Internal web server. By
* default everything is included inside the SDK. By setting any of
* the values below to 0, that component will not be included in the final
* SDK.
* \begin{itemize}
* \item {\tt EXCLUDE_SOAP[0,1]}
* \item {\tt EXCLUDE_GENA[0,1]}
* \item {\tt EXCLUDE_SSDP[0,1]}
* \item {\tt EXCLUDE_DOM [0,1]}
* \item {\tt EXCLUDE_MINISERVER[0,1]}
* \item {\tt EXCLUDE_WEB_SERVER[0,1]}
* \item {\tt EXCLUDE_JNI[0,1]}
* \end{itemize}
* *
* @{
*/ */
#define MIN_SEARCH_TIME 2
/* @} */
//@{
/*!
* \name AUTO_ADVERTISEMENT_TIME
*
* The {\tt AUTO_ADVERTISEMENT_TIME} is the time, in seconds, before an
* device advertisements expires before a renewed advertisement is sent.
* The default time is 30 seconds.
*
* @{
*/
#define AUTO_ADVERTISEMENT_TIME 30
/* @} */
/*!
* \name SSDP_PACKET_DISTRIBUTE
*
* The {\tt SSDP_PACKET_DISTRIBUTE} enables the SSDP packets to be sent
* at an interval equal to half of the expiration time of SSDP packets
* minus the AUTO_ADVERTISEMENT_TIME. This is used to increase
* the probability of SSDP packets reaching to control points.
* It is recommended that this flag be turned on for embedded wireless
* devices.
*
* @{
*/
#define SSDP_PACKET_DISTRIBUTE 1
/* @} */
/*!
* \name Module Exclusion
*
* Depending on the requirements, the user can selectively discard any of
* the major modules like SOAP, GENA, SSDP or the Internal web server. By
* default everything is included inside the SDK. By setting any of
* the values below to 0, that component will not be included in the final
* SDK.
* \begin{itemize}
* \item {\tt EXCLUDE_SOAP[0,1]}
* \item {\tt EXCLUDE_GENA[0,1]}
* \item {\tt EXCLUDE_SSDP[0,1]}
* \item {\tt EXCLUDE_DOM [0,1]}
* \item {\tt EXCLUDE_MINISERVER[0,1]}
* \item {\tt EXCLUDE_WEB_SERVER[0,1]}
* \item {\tt EXCLUDE_JNI[0,1]}
* \end{itemize}
*
* @{
*/
#define EXCLUDE_SSDP 0 #define EXCLUDE_SSDP 0
#define EXCLUDE_SOAP 0 #define EXCLUDE_SOAP 0
#define EXCLUDE_GENA 0 #define EXCLUDE_GENA 0
@@ -245,24 +294,28 @@
#else #else
# define EXCLUDE_JNI 1 # define EXCLUDE_JNI 1
#endif #endif
//@} /* @} */
/** @name DEBUG_TARGET /*!
* The user has the option to redirect the library output debug messages * \name DEBUG_TARGET
* to either the screen or to a log file. All the output messages with *
* debug level 0 will go to {\tt upnp.err} and messages with debug level * The user has the option to redirect the library output debug messages
* greater than zero will be redirected to {\tt upnp.out}. * to either the screen or to a log file. All the output messages with
* debug level 0 will go to {\tt upnp.err} and messages with debug level
* greater than zero will be redirected to {\tt upnp.out}.
*
* @{
*/ */
//@{
#define DEBUG_TARGET 1 #define DEBUG_TARGET 1
//@} /* @} */
/** @name Other debugging features /*!
The UPnP SDK contains other features to aid in debugging: * \name Other debugging features
see <upnp/inc/upnpdebug.h> *
* The UPnP SDK contains other features to aid in debugging:
* see <upnp/inc/upnpdebug.h>
*/ */
#define DEBUG_ALL 1 #define DEBUG_ALL 1
@@ -275,38 +328,46 @@
#define DEBUG_HTTP 0 #define DEBUG_HTTP 0
#define DEBUG_API 0 #define DEBUG_API 0
//@} // Compile time configuration options
/*
* @} Compile time configuration options
*/
/*************************************************************************** /***************************************************************************
* Do not change, Internal purpose only!!! * Do not change, Internal purpose only!!!
***************************************************************************/ ***************************************************************************/
//@{ /*!
* @{
*/
/* /*
* Set additional defines based on requested configuration * Set additional defines based on requested configuration
*/ */
// configure --enable-client
/* configure --enable-client */
#if UPNP_HAVE_CLIENT #if UPNP_HAVE_CLIENT
# define INCLUDE_CLIENT_APIS 1 # define INCLUDE_CLIENT_APIS 1
#endif #endif
// configure --enable-device
/* configure --enable-device */
#if UPNP_HAVE_DEVICE #if UPNP_HAVE_DEVICE
# define INCLUDE_DEVICE_APIS 1 # define INCLUDE_DEVICE_APIS 1
#endif #endif
// configure --enable-webserver --enable-device
/* configure --enable-webserver --enable-device */
#if UPNP_HAVE_WEBSERVER #if UPNP_HAVE_WEBSERVER
# define INTERNAL_WEB_SERVER 1 # define INTERNAL_WEB_SERVER 1
#endif #endif
#undef EXCLUDE_WEB_SERVER
#undef EXCLUDE_WEB_SERVER #undef EXCLUDE_MINISERVER
#undef EXCLUDE_MINISERVER
#ifdef INTERNAL_WEB_SERVER #ifdef INTERNAL_WEB_SERVER
# define EXCLUDE_WEB_SERVER 0 # define EXCLUDE_WEB_SERVER 0
# define EXCLUDE_MINISERVER 0 # define EXCLUDE_MINISERVER 0
@@ -315,16 +376,18 @@
# define EXCLUDE_MINISERVER 1 # define EXCLUDE_MINISERVER 1
#endif #endif
#if EXCLUDE_GENA == 1 && EXCLUDE_SOAP == 1 && EXCLUDE_WEB_SERVER == 1 #if EXCLUDE_GENA == 1 && EXCLUDE_SOAP == 1 && EXCLUDE_WEB_SERVER == 1
# undef EXCLUDE_MINISERVER # undef EXCLUDE_MINISERVER
# define EXCLUDE_MINISERVER 1 # define EXCLUDE_MINISERVER 1
# if INTERNAL_WEB_SERVER # if INTERNAL_WEB_SERVER
# error "conflicting settings: use configure --disable-webserver" # error "conflicting settings: use configure --disable-webserver"
# endif # endif
#endif #endif
#if EXCLUDE_GENA == 0 || EXCLUDE_SOAP == 0 || EXCLUDE_WEB_SERVER == 0 #if EXCLUDE_GENA == 0 || EXCLUDE_SOAP == 0 || EXCLUDE_WEB_SERVER == 0
# undef EXCLUDE_MINISERVER # undef EXCLUDE_MINISERVER
# define EXCLUDE_MINISERVER 0 # define EXCLUDE_MINISERVER 0
# if EXCLUDE_WEB_SERVER == 0 && !defined INTERNAL_WEB_SERVER # if EXCLUDE_WEB_SERVER == 0 && !defined INTERNAL_WEB_SERVER
# error "conflicting settings : use configure --enable-webserver" # error "conflicting settings : use configure --enable-webserver"
@@ -332,13 +395,17 @@
#endif #endif
#ifdef INCLUDE_CLIENT_APIS #ifdef INCLUDE_CLIENT_APIS
# define CLIENTONLY(x) x # define CLIENTONLY(x) x
#else #else /* INCLUDE_CLIENT_APIS */
# define CLIENTONLY(x) # define CLIENTONLY(x)
#endif #endif /* INCLUDE_CLIENT_APIS */
//@}
#endif /*
* @}
*/
#endif /* INTERNAL_CONFIG_H */