XFusion API v1.3.0
载入中...
搜索中...
未找到
xf_osal_semaphore.h
浏览该文件的文档.
1
12#if XF_OSAL_SEMAPHORE_IS_ENABLE || defined(__DOXYGEN__)
13
14#ifndef __XF_OSAL_SEMAPHORE_H__
15#define __XF_OSAL_SEMAPHORE_H__
16
17/* ==================== [Includes] ========================================== */
18
19#include "xf_osal_def.h"
20
30#ifdef __cplusplus
31extern "C" {
32#endif
33
34/* ==================== [Defines] =========================================== */
35
36/* ==================== [Typedefs] ========================================== */
37
41typedef void *xf_osal_semaphore_t;
42
47 const char *name;
48 uint32_t attr_bits;
49 void *cb_mem;
50 uint32_t cb_size;
52
53/* ==================== [Global Prototypes] ================================= */
54
68 uint32_t max_count, uint32_t initial_count, const xf_osal_semaphore_attr_t *attr);
69
88
103
113
128
129/* ==================== [Macros] ============================================ */
130
131#ifdef __cplusplus
132} /* extern "C" */
133#endif
134
140#endif // __XF_OSAL_SEMAPHORE_H__
141
142#endif // XF_OSAL_SEMAPHORE_IS_ENABLE
xf_osal_semaphore_t xf_osal_semaphore_create(uint32_t max_count, uint32_t initial_count, const xf_osal_semaphore_attr_t *attr)
创建并初始化信号量对象。
xf_err_t xf_osal_semaphore_release(xf_osal_semaphore_t semaphore)
释放信号量令牌直至初始最大计数。
xf_err_t xf_osal_semaphore_delete(xf_osal_semaphore_t semaphore)
删除信号量对象。
uint32_t xf_osal_semaphore_get_count(xf_osal_semaphore_t semaphore)
获取当前信号量令牌计数。
xf_err_t xf_osal_semaphore_acquire(xf_osal_semaphore_t semaphore, uint32_t timeout)
获取信号量令牌,如果没有可用令牌则超时。
void * xf_osal_semaphore_t
信号量句柄。
struct _xf_osal_semaphore_attr_t xf_osal_semaphore_attr_t
信号量的属性结构。
int32_t xf_err_t
整形错误类型。 错误码具体值见 xf_err_code_t.
Definition xf_err.h:69
信号量的属性结构。
xf_osal 内部公共定义、函数、数据。