| 
    XFusion API v1.3.0
    
   | 
 
信号量可以管理和保护对共享资源的访问。 更多...

结构体 | |
| struct | _xf_osal_semaphore_attr_t | 
| 信号量的属性结构。  更多... | |
类型定义 | |
| typedef void * | xf_osal_semaphore_t | 
| 信号量句柄。   | |
| typedef struct _xf_osal_semaphore_attr_t | xf_osal_semaphore_attr_t | 
| 信号量的属性结构。   | |
函数 | |
| 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_acquire (xf_osal_semaphore_t semaphore, uint32_t timeout) | 
| 获取信号量令牌,如果没有可用令牌则超时。   | |
| xf_err_t | xf_osal_semaphore_release (xf_osal_semaphore_t semaphore) | 
| 释放信号量令牌直至初始最大计数。   | |
| uint32_t | xf_osal_semaphore_get_count (xf_osal_semaphore_t semaphore) | 
| 获取当前信号量令牌计数。   | |
| xf_err_t | xf_osal_semaphore_delete (xf_osal_semaphore_t semaphore) | 
| 删除信号量对象。   | |
信号量可以管理和保护对共享资源的访问。
| typedef void* xf_osal_semaphore_t | 
信号量句柄。
在文件 xf_osal_semaphore.h 第 41 行定义.
| typedef struct _xf_osal_semaphore_attr_t xf_osal_semaphore_attr_t | 
信号量的属性结构。
| xf_osal_semaphore_t xf_osal_semaphore_create | ( | uint32_t | max_count, | 
| uint32_t | initial_count, | ||
| const xf_osal_semaphore_attr_t * | attr | ||
| ) | 
创建并初始化信号量对象。
| max_count | 可用令牌的最大数量。 | 
| initial_count | 可用令牌的初始数量。 | 
| attr | 信号量属性。填入 NULL 时使用默认属性。 | 
| xf_err_t xf_osal_semaphore_acquire | ( | xf_osal_semaphore_t | semaphore, | 
| uint32_t | timeout | ||
| ) | 
获取信号量令牌,如果没有可用令牌则超时。
| semaphore | 信号量句柄。从 xf_osal_semaphore_create() 获取。 | 
| timeout | 超时时间,单位 tick.
  | 
| xf_err_t xf_osal_semaphore_release | ( | xf_osal_semaphore_t | semaphore | ) | 
释放信号量令牌直至初始最大计数。
| semaphore | 信号量句柄。从 xf_osal_semaphore_create() 获取。 | 
| uint32_t xf_osal_semaphore_get_count | ( | xf_osal_semaphore_t | semaphore | ) | 
获取当前信号量令牌计数。
| semaphore | 信号量句柄。从 xf_osal_semaphore_create() 获取。 | 
| xf_err_t xf_osal_semaphore_delete | ( | xf_osal_semaphore_t | semaphore | ) | 
删除信号量对象。
| semaphore | 信号量句柄。从 xf_osal_semaphore_create() 获取。 |