2#ifndef __VSF_LINUX_KERNEL_SEMAPHORE_H__
3#define __VSF_LINUX_KERNEL_SEMAPHORE_H__
14static inline void sema_init(
struct semaphore *sem,
int val)
18#if VSF_LINUX_CFG_SUPPORT_SIG == ENABLED
24static inline int down_interruptible(
struct semaphore *sem)
30static inline void down(
struct semaphore *sem)
35static inline int down_trylock(
struct semaphore *sem)
41static inline void up(
struct semaphore *sem)
Definition vsf_linux.h:160
__le16 timeout
Definition ieee80211.h:94
#define NULL
Definition lvgl.h:26
unsigned short uint_fast16_t
Definition stdint.h:25
Definition semaphore.h:10
vsf_linux_trigger_t trigger
Definition semaphore.h:11
vsf_err_t vsf_eda_sync_init(vsf_sync_t *pthis, uint_fast16_t cur_value, uint_fast16_t max_value)
Initialize a sync object, the base of semaphore, mutex, trigger etc.
vsf_err_t vsf_eda_sync_increase(vsf_sync_t *pthis)
Increase a sync object, waking up the pending tasks if any.
vsf_err_t vsf_eda_sync_decrease(vsf_sync_t *pthis, vsf_timeout_tick_t timeout)
Decrease a sync object, pending if the resource is not available.
VSF_KERNEL_TIMEOUT_TICK_T vsf_timeout_tick_t
Timeout type in system timer ticks: negative means wait forever, 0 means non-blocking try,...
Definition vsf_eda.h:1491
int vsf_linux_trigger_pend(vsf_linux_trigger_t *trig, vsf_timeout_tick_t timeout)
Definition vsf_linux.c:725
#define VSF_LINUX_ASSERT
Definition vsf_linux_cfg.h:31
#define vsf_dlist_init_node( __host_type, __member, __item_ptr)
Definition vsf_list.h:717
vsf_sync_reason_t __vsf_thread_wait_for_sync(vsf_sync_t *sync, vsf_timeout_tick_t time_out)
Wait for a sync object (semaphore, trigger or mutex) inside a thread.
Definition vsf_thread.c:832