1 /*
2  * Copyright (c) 2024-2025 Nordic Semiconductor ASA
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 
7 #include <stdbool.h>
8 
9 #include <zephyr/fff.h>
10 #include <zephyr/kernel.h>
11 
12 #include "kernel.h"
13 
14 DEFINE_FAKE_VALUE_FUNC(bool, k_is_in_isr);
15 DEFINE_FAKE_VALUE_FUNC(int, k_poll_signal_raise, struct k_poll_signal *, int);
16 DEFINE_FAKE_VALUE_FUNC(int, k_sem_take, struct k_sem *, k_timeout_t);
17 DEFINE_FAKE_VALUE_FUNC(unsigned int, k_sem_count_get, struct k_sem *);
18 DEFINE_FAKE_VOID_FUNC(k_sem_give, struct k_sem *);
19 DEFINE_FAKE_VALUE_FUNC(k_tid_t, k_sched_current_thread_query);
20 DEFINE_FAKE_VOID_FUNC(k_work_init, struct k_work *, k_work_handler_t);
21 DEFINE_FAKE_VOID_FUNC(k_work_init_delayable, struct k_work_delayable *, k_work_handler_t);
22 DEFINE_FAKE_VALUE_FUNC(int, k_work_cancel_delayable, struct k_work_delayable *);
23 DEFINE_FAKE_VALUE_FUNC(bool, k_work_flush, struct k_work *, struct k_work_sync *);
24 DEFINE_FAKE_VALUE_FUNC(int, k_work_submit, struct k_work *);
25 DEFINE_FAKE_VALUE_FUNC(int, k_work_submit_to_queue, struct k_work_q *, struct k_work *);
26 DEFINE_FAKE_VALUE_FUNC(int, k_work_reschedule, struct k_work_delayable *, k_timeout_t);
27 DEFINE_FAKE_VALUE_FUNC(int, k_work_schedule, struct k_work_delayable *, k_timeout_t);
28 DEFINE_FAKE_VALUE_FUNC(int, k_work_busy_get, const struct k_work *);
29 DEFINE_FAKE_VOID_FUNC(k_queue_init, struct k_queue *);
30 DEFINE_FAKE_VOID_FUNC(k_queue_append, struct k_queue *, void *);
31 DEFINE_FAKE_VALUE_FUNC(int, k_queue_is_empty, struct k_queue *);
32 DEFINE_FAKE_VALUE_FUNC(void *, k_queue_get, struct k_queue *, k_timeout_t);
33 DEFINE_FAKE_VOID_FUNC(k_queue_prepend, struct k_queue *, void *);
34 DEFINE_FAKE_VALUE_FUNC(void *, k_heap_alloc, struct k_heap *, size_t, k_timeout_t);
35 DEFINE_FAKE_VOID_FUNC(k_heap_free, struct k_heap *, void *);
36 DEFINE_FAKE_VOID_FUNC(k_sched_lock);
37 DEFINE_FAKE_VOID_FUNC(k_sched_unlock);
38 DEFINE_FAKE_VALUE_FUNC(void *, k_heap_aligned_alloc, struct k_heap *,
39 			size_t, size_t, k_timeout_t);
40 
41 struct k_work_q k_sys_work_q;
42