1 /** @file 2 * @brief Modem workqueue header file. 3 */ 4 5 /* 6 * Copyright (c) 2025 Embeint Pty Ltd 7 * 8 * SPDX-License-Identifier: Apache-2.0 9 */ 10 11 #ifndef ZEPHYR_INCLUDE_MODEM_WORKQUEUE_H_ 12 #define ZEPHYR_INCLUDE_MODEM_WORKQUEUE_H_ 13 14 #include <zephyr/kernel.h> 15 16 #ifdef __cplusplus 17 extern "C" { 18 #endif 19 20 #ifdef CONFIG_MODEM_DEDICATED_WORKQUEUE 21 22 int modem_work_submit(struct k_work *work); 23 int modem_work_schedule(struct k_work_delayable *dwork, k_timeout_t delay); 24 int modem_work_reschedule(struct k_work_delayable *dwork, k_timeout_t delay); 25 26 #else 27 28 static inline int modem_work_submit(struct k_work *work) 29 { 30 return k_work_submit(work); 31 } 32 33 static inline int modem_work_schedule(struct k_work_delayable *dwork, k_timeout_t delay) 34 { 35 return k_work_schedule(dwork, delay); 36 } 37 38 static inline int modem_work_reschedule(struct k_work_delayable *dwork, k_timeout_t delay) 39 { 40 return k_work_reschedule(dwork, delay); 41 } 42 43 #endif /* CONFIG_MODEM_DEDICATED_WORKQUEUE */ 44 45 #ifdef __cplusplus 46 } 47 #endif 48 49 #endif /* ZEPHYR_INCLUDE_MODEM_WORKQUEUE_H_ */ 50