17#include "apr_arch_networkio.h"
21#include "apr_arch_inherit.h"
28#ifdef HAVE_STRUCT_IPMREQ
32 mip->imr_multiaddr =
mcast->sa.sin.sin_addr;
46 unsigned int index = 0;
47#if defined(HAVE_GETIFADDRS) && APR_HAVE_IPV6
66 sizeof(
iface->
sa.sin6.sin6_addr)) == 0) {
83 sizeof(
mip->ipv6mr_multiaddr));
86 mip->ipv6mr_interface = 0;
120#ifdef GROUP_FILTER_SIZE
126#ifdef GROUP_FILTER_SIZE
151 sizeof(
mip)) == -1) {
165 (
const void *) &
mip4,
sizeof(
mip4)) == -1) {
169#if APR_HAVE_IPV6 && defined(IPV6_JOIN_GROUP) && defined(IPV6_LEAVE_GROUP)
184 (
const void *) &
mip6,
sizeof(
mip6)) == -1) {
208 (
const void *) &
value,
sizeof(
value)) == -1) {
246#if defined(IP_ADD_MEMBERSHIP) && defined(HAVE_STRUCT_IPMREQ)
258#if defined(IP_DROP_MEMBERSHIP) && defined(HAVE_STRUCT_IPMREQ)
267#if defined(IP_MULTICAST_TTL) && defined(HAVE_STRUCT_IPMREQ)
277#if defined(IP_MULTICAST_LOOP) && defined(HAVE_STRUCT_IPMREQ)
287#if defined(IP_MULTICAST_IF) && defined(HAVE_STRUCT_IPMREQ)
301 (
const void *) &
idx,
sizeof(
idx)) == -1) {
APR Portability Routines.
const void apr_status_t(*) apr_status_t(* APR_DECLARE)(void) apr_pool_pre_cleanup_register(apr_pool_t *p
apr_sockaddr_t apr_sockaddr_t apr_sockaddr_t * source
apr_sockaddr_t apr_sockaddr_t * iface
union apr_sockaddr_t::@55 sa
apr_sockaddr_t * local_addr