| /* |
| * Copyright (c) 2019 Intel Corporation |
| * |
| * SPDX-License-Identifier: Apache-2.0 |
| */ |
| |
| #ifndef __CONN_MGR_PRV_H__ |
| #define __CONN_MGR_PRV_H__ |
| |
| #include <zephyr/net/conn_mgr_connectivity.h> |
| #include <zephyr/sys/iterable_sections.h> |
| |
| #if defined(CONFIG_NET_IPV6) && defined(CONFIG_NET_IPV4) |
| #define CONN_MGR_IFACE_MAX MAX(CONFIG_NET_IF_MAX_IPV6_COUNT, \ |
| CONFIG_NET_IF_MAX_IPV4_COUNT) |
| #elif defined(CONFIG_NET_IPV6) |
| #define CONN_MGR_IFACE_MAX CONFIG_NET_IF_MAX_IPV6_COUNT |
| #else |
| #define CONN_MGR_IFACE_MAX CONFIG_NET_IF_MAX_IPV4_COUNT |
| #endif |
| |
| /* External state flags */ |
| #define CONN_MGR_IF_UP BIT(0) |
| #define CONN_MGR_IF_IPV6_SET BIT(1) |
| #define CONN_MGR_IF_IPV4_SET BIT(2) |
| |
| /* Configuration flags */ |
| #define CONN_MGR_IF_IGNORED BIT(7) |
| |
| /* Internal state flags */ |
| #define CONN_MGR_IF_READY BIT(14) |
| |
| /* Event flags */ |
| #define CONN_MGR_IF_CHANGED BIT(15) |
| |
| /* NET_MGMT event masks */ |
| #define CONN_MGR_IFACE_EVENTS_MASK (NET_EVENT_IF_DOWN | \ |
| NET_EVENT_IF_UP) |
| |
| #define CONN_MGR_CONN_IFACE_EVENTS_MASK (NET_EVENT_IF_ADMIN_UP |\ |
| NET_EVENT_IF_DOWN) |
| |
| #define CONN_MGR_CONN_SELF_EVENTS_MASK (NET_EVENT_CONN_IF_TIMEOUT | \ |
| NET_EVENT_CONN_IF_FATAL_ERROR) |
| |
| #define CONN_MGR_IPV6_EVENTS_MASK (NET_EVENT_IPV6_ADDR_ADD | \ |
| NET_EVENT_IPV6_ADDR_DEL | \ |
| NET_EVENT_IPV6_DAD_SUCCEED | \ |
| NET_EVENT_IPV6_DAD_FAILED) |
| |
| #define CONN_MGR_IPV4_EVENTS_MASK (NET_EVENT_IPV4_ADDR_ADD | \ |
| NET_EVENT_IPV4_ADDR_DEL) |
| |
| extern struct k_sem conn_mgr_mon_updated; |
| extern struct k_mutex conn_mgr_mon_lock; |
| |
| void conn_mgr_init_events_handler(void); |
| |
| /* Cause conn_mgr_connectivity to Initialize all connectivity implementation bindings */ |
| void conn_mgr_conn_init(void); |
| |
| #endif /* __CONN_MGR_PRV_H__ */ |