/* * Copyright (c) 2022 Intellinium * * SPDX-License-Identifier: Apache-2.0 */ #ifndef ZEPHYR_SUBSYS_LORAWAN_NVM_H_ #define ZEPHYR_SUBSYS_LORAWAN_NVM_H_ #include /** * @brief Hook function called when an interrupt related to NVM * is received from the LoRaWAN stack. * * @note This function should not be called directly by the application * * @param flags OR'ed flags received with the interrupt * * @see LORAMAC_NVM_NOTIFY_FLAG_NONE * @see LORAMAC_NVM_NOTIFY_FLAG_CRYPTO * @see LORAMAC_NVM_NOTIFY_FLAG_MAC_GROUP1 * @see LORAMAC_NVM_NOTIFY_FLAG_MAC_GROUP2 * @see LORAMAC_NVM_NOTIFY_FLAG_SECURE_ELEMENT * @see LORAMAC_NVM_NOTIFY_FLAG_REGION_GROUP1 * @see LORAMAC_NVM_NOTIFY_FLAG_REGION_GROUP2 * @see LORAMAC_NVM_NOTIFY_FLAG_CLASS_B */ void lorawan_nvm_data_mgmt_event(uint16_t flags); /** * @brief Restores all the relevant LoRaWAN data from the Non-Volatile Memory. * * @note This function should only be called if a NVM has been enabled, and * not directly by the application. * * @return 0 on success, or a negative error code otherwise */ int lorawan_nvm_data_restore(void); /** * @brief Initializes the NVM backend * * @note This function shall be called before any other * NVM back functions. * * @return 0 on success, or a negative error code otherwise */ int lorawan_nvm_init(void); #endif /* ZEPHYR_SUBSYS_LORAWAN_NVM_H_ */