10#ifndef __TAL_SEMAPHORE_H__
11#define __TAL_SEMAPHORE_H__
13#include "tuya_cloud_types.h"
19typedef PVOID_T SEM_HANDLE;
21#define SEM_WAIT_FOREVER 0xFFFFffff
34OPERATE_RET tal_semaphore_create_init(SEM_HANDLE *handle, UINT_T sem_cnt, UINT_T sem_max);
46OPERATE_RET tal_semaphore_wait(SEM_HANDLE handle, UINT_T timeout);
57OPERATE_RET tal_semaphore_post(SEM_HANDLE handle);
68OPERATE_RET tal_semaphore_release(SEM_HANDLE handle);
80#define tal_semaphore_wait_forever(__handle) \
81 tal_semaphore_wait(__handle, SEM_WAIT_FOREVER)