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
32
extern
"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
93
typedef
void
*
xf_osal_mutex_t
;
94
98
typedef
struct
_xf_osal_mutex_attr_t
{
99
const
char
*
name
;
100
uint32_t
attr_bits
;
110
void
*
cb_mem
;
111
uint32_t
cb_size
;
112
}
xf_osal_mutex_attr_t
;
113
114
/* ==================== [Global Prototypes] ================================= */
115
124
xf_osal_mutex_t
xf_osal_mutex_create
(
const
xf_osal_mutex_attr_t
*attr);
125
144
xf_err_t
xf_osal_mutex_acquire
(
xf_osal_mutex_t
mutex
, uint32_t timeout);
145
159
xf_err_t
xf_osal_mutex_release
(
xf_osal_mutex_t
mutex
);
160
171
xf_osal_thread_t
xf_osal_mutex_get_owner
(
xf_osal_mutex_t
mutex
);
172
186
xf_err_t
xf_osal_mutex_delete
(
xf_osal_mutex_t
mutex
);
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
xf_osal_mutex_t
void * xf_osal_mutex_t
互斥锁句柄。
Definition
xf_osal_mutex.h:93
xf_osal_mutex_attr_t
struct _xf_osal_mutex_attr_t xf_osal_mutex_attr_t
互斥锁的属性结构。
xf_osal_mutex_release
xf_err_t xf_osal_mutex_release(xf_osal_mutex_t mutex)
释放互斥锁。
xf_osal_mutex_get_owner
xf_osal_thread_t xf_osal_mutex_get_owner(xf_osal_mutex_t mutex)
获取互斥锁持有者线程句柄。
xf_osal_mutex_acquire
xf_err_t xf_osal_mutex_acquire(xf_osal_mutex_t mutex, uint32_t timeout)
获取互斥锁。
xf_osal_mutex_create
xf_osal_mutex_t xf_osal_mutex_create(const xf_osal_mutex_attr_t *attr)
创建并初始化互斥锁。
xf_osal_mutex_delete
xf_err_t xf_osal_mutex_delete(xf_osal_mutex_t mutex)
删除互斥锁。
xf_osal_thread_t
void * xf_osal_thread_t
线程句柄。
Definition
xf_osal_thread.h:159
xf_err_t
int32_t xf_err_t
整形错误类型。 错误码具体值见 xf_err_code_t.
Definition
xf_err.h:69
mutex
static xf_osal_mutex_t mutex
Definition
xf_main.c:35
_xf_osal_mutex_attr_t
互斥锁的属性结构。
Definition
xf_osal_mutex.h:98
_xf_osal_mutex_attr_t::cb_size
uint32_t cb_size
Definition
xf_osal_mutex.h:111
_xf_osal_mutex_attr_t::attr_bits
uint32_t attr_bits
Definition
xf_osal_mutex.h:100
_xf_osal_mutex_attr_t::cb_mem
void * cb_mem
Definition
xf_osal_mutex.h:110
_xf_osal_mutex_attr_t::name
const char * name
Definition
xf_osal_mutex.h:99
xf_osal_def.h
xf_osal 内部公共定义、函数、数据。
xf_osal_thread.h
定义、创建和控制线程函数。
components
xf_osal
xf_osal
xf_osal
xf_osal_mutex.h
生成于 2025年 一月 21日 星期二 17:25:09 , 为 XFusion API使用
1.9.8