13#ifndef ZEPHYR_INCLUDE_MPIPE_MPIPE_THREAD_H_
14#define ZEPHYR_INCLUDE_MPIPE_MPIPE_THREAD_H_
void(* k_thread_entry_t)(void *p1, void *p2, void *p3)
Thread entry point function type.
Definition arch_interface.h:48
long atomic_t
Atomic integer variable.
Definition atomic_types.h:31
int mpipe_thread_join(struct mpipe_thread *thread, k_timeout_t timeout)
Join a thread and release its stack back to the thread stack pool.
mpipe_thread_state
Thread state.
Definition mpipe_thread.h:42
void mpipe_thread_pause(struct mpipe_thread *thread)
Pause a running thread.
void mpipe_thread_resume(struct mpipe_thread *thread)
Resume a paused thread.
int mpipe_thread_wait(struct mpipe_thread *thread)
Block the thread until it is allowed to run or must exit.
k_tid_t mpipe_thread_create(struct mpipe_thread *thread, k_thread_entry_t func, void *p1, void *p2, void *p3, int priority, k_timeout_t delay)
Create a new thread reusing the stack from the thread pool.
@ MPIPE_THREAD_PAUSED
Thread is paused and can be resumed.
Definition mpipe_thread.h:44
@ MPIPE_THREAD_TERMINATED
Thread is terminated.
Definition mpipe_thread.h:48
@ MPIPE_THREAD_RUNNING
Thread is running.
Definition mpipe_thread.h:46
struct k_thread * k_tid_t
Definition thread.h:414
__UINT8_TYPE__ uint8_t
Definition stdint.h:88
Semaphore structure.
Definition kernel.h:3738
Thread Structure.
Definition thread.h:258
Kernel timeout type.
Definition clock.h:65
Simple wrapper around k_thread.
Definition mpipe_thread.h:54
struct k_thread thread
k_thread struct
Definition mpipe_thread.h:56
struct k_sem sem
Semaphore used to gate run / pause transitions.
Definition mpipe_thread.h:58
uint8_t stack_id
Thread stack ID.
Definition mpipe_thread.h:60
int priority
Priority of the thread.
Definition mpipe_thread.h:64
atomic_t state
Current thread state.
Definition mpipe_thread.h:62
Header file for the Atomic operations API.