zephyr/subsys/portability/cmsis_rtos_v2/wrapper.h
Anas Nashif a15f32f58c portability: move cmsis APIs to subsys/portability
Move cmsis OS apis under subsystem/portability. Those are not libraries
and only serve to provide a level of abstraction using the CMSIS OS APIs
to existing Zephyr interfaces.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-04-20 08:45:05 -04:00

73 lines
1.2 KiB
C

/*
* 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