XFusion API v1.3.0
载入中...
搜索中...
未找到
xf_osal_mutex.h
浏览该文件的文档.
1
12#if XF_OSAL_MUTEX_IS_ENABLE || defined(__DOXYGEN__)
13
14#ifndef __XF_OSAL_MUTEX_H__
15#define __XF_OSAL_MUTEX_H__
16
17/* ==================== [Includes] ========================================== */
18
19#include "xf_osal_def.h"
20#include "xf_osal_thread.h"
21
31#ifdef __cplusplus
32extern "C" {
33#endif
34
35/* ==================== [Defines] =========================================== */
36
49#define XF_OSAL_MUTEX_RECURSIVE 0x00000001U
50
77#define XF_OSAL_MUTEX_PRIO_INHERIT 0x00000002U
78
86#define XF_OSAL_MUTEX_ROBUST 0x00000008U
87
88/* ==================== [Typedefs] ========================================== */
89
93typedef void *xf_osal_mutex_t;
94
98typedef struct _xf_osal_mutex_attr_t {
99 const char *name;
100 uint32_t attr_bits;
110 void *cb_mem;
111 uint32_t cb_size;
113
114/* ==================== [Global Prototypes] ================================= */
115
125
145
160
172
187
188/* ==================== [Macros] ============================================ */
189
190#ifdef __cplusplus
191} /* extern "C" */
192#endif
193
199#endif // __XF_OSAL_MUTEX_H__
200
201#endif // XF_OSAL_MUTEX_IS_ENABLE
void * xf_osal_mutex_t
互斥锁句柄。
struct _xf_osal_mutex_attr_t xf_osal_mutex_attr_t
互斥锁的属性结构。
xf_err_t xf_osal_mutex_release(xf_osal_mutex_t mutex)
释放互斥锁。
xf_osal_thread_t xf_osal_mutex_get_owner(xf_osal_mutex_t mutex)
获取互斥锁持有者线程句柄。
xf_err_t xf_osal_mutex_acquire(xf_osal_mutex_t mutex, uint32_t timeout)
获取互斥锁。
xf_osal_mutex_t xf_osal_mutex_create(const xf_osal_mutex_attr_t *attr)
创建并初始化互斥锁。
xf_err_t xf_osal_mutex_delete(xf_osal_mutex_t mutex)
删除互斥锁。
void * xf_osal_thread_t
线程句柄。
int32_t xf_err_t
整形错误类型。 错误码具体值见 xf_err_code_t.
Definition xf_err.h:69
static xf_osal_mutex_t mutex
Definition xf_main.c:35
互斥锁的属性结构。
xf_osal 内部公共定义、函数、数据。
定义、创建和控制线程函数。