| /* |
| * Copyright (c) 2018 Intel Corporation |
| * |
| * SPDX-License-Identifier: Apache-2.0 |
| */ |
| |
| #ifndef __WRAPPER_H__ |
| #define __WRAPPER_H__ |
| |
| #include <kernel.h> |
| #include <cmsis_os2.h> |
| |
| #define TRUE 1 |
| #define FALSE 0 |
| |
| struct cv2_thread { |
| sys_dnode_t node; |
| struct k_thread z_thread; |
| struct k_poll_signal poll_signal; |
| struct k_poll_event poll_event; |
| uint32_t signal_results; |
| char name[16]; |
| uint32_t attr_bits; |
| struct k_sem join_guard; |
| char has_joined; |
| }; |
| |
| struct cv2_timer { |
| struct k_timer z_timer; |
| osTimerType_t type; |
| uint32_t status; |
| char name[16]; |
| void (*callback_function)(void *argument); |
| void *arg; |
| }; |
| |
| struct cv2_mutex { |
| struct k_mutex z_mutex; |
| char name[16]; |
| uint32_t state; |
| }; |
| |
| struct cv2_sem { |
| struct k_sem z_semaphore; |
| char name[16]; |
| }; |
| |
| struct cv2_mslab { |
| struct k_mem_slab z_mslab; |
| void *pool; |
| char is_dynamic_allocation; |
| char name[16]; |
| }; |
| |
| struct cv2_msgq { |
| struct k_msgq z_msgq; |
| void *pool; |
| char is_dynamic_allocation; |
| char name[16]; |
| }; |
| |
| struct cv2_event_flags { |
| struct k_poll_signal poll_signal; |
| struct k_poll_event poll_event; |
| uint32_t signal_results; |
| char name[16]; |
| }; |
| |
| extern osThreadId_t get_cmsis_thread_id(k_tid_t tid); |
| extern void *is_cmsis_rtos_v2_thread(void *thread_id); |
| |
| #endif |