Go2Py/cpp_bridge/thirdparty/include/dds/ddsi/q_feature_check.h

50 lines
1.4 KiB
C

/*
* Copyright(c) 2006 to 2020 ZettaScale Technology and others
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0, or the Eclipse Distribution License
* v. 1.0 which is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
*/
/* Feature macros:
- SSM: support for source-specific multicast
requires: NETWORK_PARTIITONS
also requires platform support; SSM is silently disabled if the
platform doesn't support it
- BANDWIDTH_LIMITING: transmit-side bandwidth limiting
requires: NETWORK_CHANNELS (for now, anyway)
- IPV6: support for IPV6
requires: platform support (which itself is not part of DDSI)
- NETWORK_PARTITIONS: support for multiple network partitions
- NETWORK_CHANNELS: support for multiple network channels
*/
#include "dds/features.h"
#ifdef DDS_HAS_SSM
#ifndef DDS_HAS_NETWORK_PARTITIONS
#error "SSM requires NETWORK_PARTITIONS"
#endif
#include "dds/ddsrt/sockets.h"
#ifndef DDSRT_HAVE_SSM
#error "DDSRT_HAVE_SSM should be defined"
#elif ! DDSRT_HAVE_SSM
#undef DDS_HAS_SSM
#endif
#endif
#ifdef DDS_HAS_BANDWIDTH_LIMITING
#ifndef DDS_HAS_NETWORK_CHANNELS
#error "BANDWIDTH_LIMITING requires NETWORK_CHANNELS"
#endif
#endif