/* * Copyright (c) 2016 Intel Corporation. * * SPDX-License-Identifier: Apache-2.0 */ /** * @file * @brief IEEE 802.15.4 Net Management Private API */ #ifndef __IEEE802154_MGMT_PRIV_H__ #define __IEEE802154_MGMT_PRIV_H__ #include "ieee802154_frame.h" #ifdef CONFIG_NET_MGMT static inline bool ieee802154_is_scanning(struct net_if *iface) { struct ieee802154_context *ctx = net_if_l2_data(iface); return !(!ctx->scan_ctx); } static inline void ieee802154_mgmt_init(struct net_if *iface) { struct ieee802154_context *ctx = net_if_l2_data(iface); k_sem_init(&ctx->scan_ctx_lock, 1, 1); } /** * Handles the given Beacon frame. * * @retval NET_CONTINUE if successful. * @retval NET_DROP error while parsing the beacon */ enum net_verdict ieee802154_handle_beacon(struct net_if *iface, struct ieee802154_mpdu *mpdu, uint8_t lqi); /** * Executes the given MAC command. * * @retval NET_CONTINUE if successful. * @retval NET_DROP error while parsing the mac command */ enum net_verdict ieee802154_handle_mac_command(struct net_if *iface, struct ieee802154_mpdu *mpdu); #else /* CONFIG_NET_MGMT */ #define ieee802154_is_scanning(...) false #define ieee802154_mgmt_init(...) #define ieee802154_handle_beacon(...) NET_DROP #define ieee802154_handle_mac_command(...) NET_DROP #endif /* CONFIG_NET_MGMT */ #endif /* __IEEE802154_MGMT_PRIV_H__ */