Zephyr API Documentation 4.3.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
mld.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2016 Intel Corporation
3 * Copyright (c) 2024 Nordic Semiconductor ASA
4 *
5 * SPDX-License-Identifier: Apache-2.0
6 */
7
11
12#ifndef ZEPHYR_INCLUDE_NET_MLD_H_
13#define ZEPHYR_INCLUDE_NET_MLD_H_
14
23
24#include <errno.h>
25
26#include <zephyr/net/net_if.h>
27#include <zephyr/net/net_ip.h>
28#include <zephyr/toolchain.h>
29
30#ifdef __cplusplus
31extern "C" {
32#endif
33
49#if defined(CONFIG_NET_IPV6_MLD)
50int net_ipv6_mld_join(struct net_if *iface, const struct net_in6_addr *addr);
51#else
52static inline int
53net_ipv6_mld_join(struct net_if *iface, const struct net_in6_addr *addr)
54{
55 ARG_UNUSED(addr);
56 ARG_UNUSED(iface);
57
58 return -ENOTSUP;
59}
60#endif /* CONFIG_NET_IPV6_MLD */
61
70#if defined(CONFIG_NET_IPV6_MLD)
71int net_ipv6_mld_leave(struct net_if *iface, const struct net_in6_addr *addr);
72#else
73static inline int
74net_ipv6_mld_leave(struct net_if *iface, const struct net_in6_addr *addr)
75{
76 ARG_UNUSED(iface);
77 ARG_UNUSED(addr);
78
79 return -ENOTSUP;
80}
81#endif /* CONFIG_NET_IPV6_MLD */
82
83#ifdef __cplusplus
84}
85#endif
86
90
91#endif /* ZEPHYR_INCLUDE_NET_MLD_H_ */
System error numbers.
static int net_ipv6_mld_join(struct net_if *iface, const struct net_in6_addr *addr)
Join a given multicast group.
Definition mld.h:53
static int net_ipv6_mld_leave(struct net_if *iface, const struct net_in6_addr *addr)
Leave a given multicast group.
Definition mld.h:74
#define ENOTSUP
Unsupported value.
Definition errno.h:114
Public API for network interface.
IPv6 and IPv4 definitions.
Network Interface structure.
Definition net_if.h:731
IPv6 address struct.
Definition net_ip.h:143
Macros to abstract toolchain specific capabilities.