From 0916e561e0e9dde57a8cf2fd5a487d4ee30b2dc3 Mon Sep 17 00:00:00 2001 From: Andre Noll Date: Thu, 25 Feb 2010 17:33:54 +0100 Subject: [PATCH] net.h: Fic compilation on systems with partial DCCP support. There exists at least one system that defines IPPROTO_DCCP but not DCCP_SOCKOPT_CCID and friends. On such systems compilation fails due to to undefined symbols. Fix this problem by checking each value separately. --- net.h | 37 +++++++++++++++++++++++++++---------- 1 file changed, 27 insertions(+), 10 deletions(-) diff --git a/net.h b/net.h index 831cd3b8..e9974d1c 100644 --- a/net.h +++ b/net.h @@ -17,19 +17,36 @@ #define UNIX_PATH_MAX 108 #endif -/** \cond Userland defines for Linux DCCP support. */ +/* Userland defines for Linux DCCP support. */ + #ifndef IPPROTO_DCCP -#define IPPROTO_DCCP 33 /* IANA assigned value */ -#define SOCK_DCCP 6 /* Linux socket type */ -#define SOL_DCCP 269 /* Linux socket level */ -/* Per-connection CCID support (since v2.6.30-rc1) */ -#define DCCP_SOCKOPT_AVAILABLE_CCIDS 12 /* List of supported CCIDs */ -#define DCCP_SOCKOPT_CCID 13 /* Sets both TX/RX CCID */ -#define DCCP_SOCKOPT_TX_CCID 14 /* Set/get the TX CCID */ -#define DCCP_SOCKOPT_RX_CCID 15 /* Set/get the RX CCID */ +#define IPPROTO_DCCP 33 /**< IANA assigned value. */ +#endif + +#ifndef SOCK_DCCP +#define SOCK_DCCP 6 /**< Linux socket type. */ +#endif + +#ifndef DCCP_SOCKOPT_RX_CCID +/** Per-connection CCID support (set/get the RX CCID, since v2.6.30-rc1). */ +#define DCCP_SOCKOPT_RX_CCID 15 +#endif + +#ifndef SOL_DCCP +#define SOL_DCCP 269 /**< Linux socket level. */ +#endif + +#ifndef DCCP_SOCKOPT_AVAILABLE_CCIDS +#define DCCP_SOCKOPT_AVAILABLE_CCIDS 12 /**< List of supported CCIDs. */ #endif -/** \endcond */ +#ifndef DCCP_SOCKOPT_CCID +#define DCCP_SOCKOPT_CCID 13 /**< Sets both TX/RX CCID. */ +#endif + +#ifndef DCCP_SOCKOPT_TX_CCID +#define DCCP_SOCKOPT_TX_CCID 14 /**< Set/get the TX CCID. */ +#endif /** * Flowopts: Transport-layer independent encapsulation of socket options -- 2.39.5