Realistic 3D camera system
3D camera system components
multicast.hpp
Go to the documentation of this file.
1 //
2 // ip/multicast.hpp
3 // ~~~~~~~~~~~~~~~~
4 //
5 // Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com)
6 //
7 // Distributed under the Boost Software License, Version 1.0. (See accompanying
8 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
9 //
10 
11 #ifndef ASIO_IP_MULTICAST_HPP
12 #define ASIO_IP_MULTICAST_HPP
13 
14 #if defined(_MSC_VER) && (_MSC_VER >= 1200)
15 # pragma once
16 #endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
17 
18 #include "asio/detail/config.hpp"
19 #include <cstddef>
21 
23 
24 namespace asio {
25 namespace ip {
26 namespace multicast {
27 
29 
46 #if defined(GENERATING_DOCUMENTATION)
47 typedef implementation_defined join_group;
48 #else
50  ASIO_OS_DEF(IPPROTO_IP),
51  ASIO_OS_DEF(IP_ADD_MEMBERSHIP),
52  ASIO_OS_DEF(IPPROTO_IPV6),
53  ASIO_OS_DEF(IPV6_JOIN_GROUP)> join_group;
54 #endif
55 
57 
74 #if defined(GENERATING_DOCUMENTATION)
75 typedef implementation_defined leave_group;
76 #else
78  ASIO_OS_DEF(IPPROTO_IP),
79  ASIO_OS_DEF(IP_DROP_MEMBERSHIP),
80  ASIO_OS_DEF(IPPROTO_IPV6),
81  ASIO_OS_DEF(IPV6_LEAVE_GROUP)> leave_group;
82 #endif
83 
85 
102 #if defined(GENERATING_DOCUMENTATION)
103 typedef implementation_defined outbound_interface;
104 #else
106  ASIO_OS_DEF(IPPROTO_IP),
107  ASIO_OS_DEF(IP_MULTICAST_IF),
108  ASIO_OS_DEF(IPPROTO_IPV6),
109  ASIO_OS_DEF(IPV6_MULTICAST_IF)> outbound_interface;
110 #endif
111 
113 
138 #if defined(GENERATING_DOCUMENTATION)
139 typedef implementation_defined hops;
140 #else
142  ASIO_OS_DEF(IPPROTO_IP),
143  ASIO_OS_DEF(IP_MULTICAST_TTL),
144  ASIO_OS_DEF(IPPROTO_IPV6),
145  ASIO_OS_DEF(IPV6_MULTICAST_HOPS)> hops;
146 #endif
147 
150 
175 #if defined(GENERATING_DOCUMENTATION)
176 typedef implementation_defined enable_loopback;
177 #else
179  ASIO_OS_DEF(IPPROTO_IP),
180  ASIO_OS_DEF(IP_MULTICAST_LOOP),
181  ASIO_OS_DEF(IPPROTO_IPV6),
182  ASIO_OS_DEF(IPV6_MULTICAST_LOOP)> enable_loopback;
183 #endif
184 
185 } // namespace multicast
186 } // namespace ip
187 } // namespace asio
188 
190 
191 #endif // ASIO_IP_MULTICAST_HPP
asio::ip::detail::socket_option::multicast_request< ASIO_OS_DEF(IPPROTO_IP), ASIO_OS_DEF(IP_DROP_MEMBERSHIP), ASIO_OS_DEF(IPPROTO_IPV6), ASIO_OS_DEF(IPV6_LEAVE_GROUP)> leave_group
Socket option to leave a multicast group on a specified interface.
Definition: multicast.hpp:81
#define ASIO_OS_DEF(c)
asio::ip::detail::socket_option::network_interface< ASIO_OS_DEF(IPPROTO_IP), ASIO_OS_DEF(IP_MULTICAST_IF), ASIO_OS_DEF(IPPROTO_IPV6), ASIO_OS_DEF(IPV6_MULTICAST_IF)> outbound_interface
Socket option for local interface to use for outgoing multicast packets.
Definition: multicast.hpp:109
asio::ip::detail::socket_option::multicast_enable_loopback< ASIO_OS_DEF(IPPROTO_IP), ASIO_OS_DEF(IP_MULTICAST_LOOP), ASIO_OS_DEF(IPPROTO_IPV6), ASIO_OS_DEF(IPV6_MULTICAST_LOOP)> enable_loopback
Definition: multicast.hpp:182
asio::ip::detail::socket_option::multicast_hops< ASIO_OS_DEF(IPPROTO_IP), ASIO_OS_DEF(IP_MULTICAST_TTL), ASIO_OS_DEF(IPPROTO_IPV6), ASIO_OS_DEF(IPV6_MULTICAST_HOPS)> hops
Socket option for time-to-live associated with outgoing multicast packets.
Definition: multicast.hpp:145
asio::ip::detail::socket_option::multicast_request< ASIO_OS_DEF(IPPROTO_IP), ASIO_OS_DEF(IP_ADD_MEMBERSHIP), ASIO_OS_DEF(IPPROTO_IPV6), ASIO_OS_DEF(IPV6_JOIN_GROUP)> join_group
Socket option to join a multicast group on a specified interface.
Definition: multicast.hpp:53