libmetal
Loading...
Searching...
No Matches
mutex.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2015, Xilinx Inc. and Contributors. All rights reserved.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7/*
8 * @file mutex.h
9 * @brief Mutex primitives for libmetal.
10 */
11
12#ifndef __METAL_MUTEX__H__
13#define __METAL_MUTEX__H__
14
15#include <metal/system/@PROJECT_SYSTEM@/mutex.h>
16
17#ifdef __cplusplus
18extern "C" {
19#endif
20
24
29static inline void metal_mutex_init(metal_mutex_t *mutex)
30{
31 __metal_mutex_init(mutex);
32}
33
38static inline void metal_mutex_deinit(metal_mutex_t *mutex)
39{
41}
42
48static inline int metal_mutex_try_acquire(metal_mutex_t *mutex)
49{
50 return __metal_mutex_try_acquire(mutex);
51}
52
57static inline void metal_mutex_acquire(metal_mutex_t *mutex)
58{
60}
61
67static inline void metal_mutex_release(metal_mutex_t *mutex)
68{
70}
71
77static inline int metal_mutex_is_acquired(metal_mutex_t *mutex)
78{
79 return __metal_mutex_is_acquired(mutex);
80}
81
83
84#ifdef __cplusplus
85}
86#endif
87
88#endif /* __METAL_MUTEX__H__ */
static void metal_mutex_init(metal_mutex_t *mutex)
Initialize a libmetal mutex.
Definition mutex.h:29
static int metal_mutex_try_acquire(metal_mutex_t *mutex)
Try to acquire a mutex.
Definition mutex.h:48
static void metal_mutex_acquire(metal_mutex_t *mutex)
Acquire a mutex.
Definition mutex.h:57
static int metal_mutex_is_acquired(metal_mutex_t *mutex)
Checked if a mutex has been acquired.
Definition mutex.h:77
static void metal_mutex_release(metal_mutex_t *mutex)
Release a previously acquired mutex.
Definition mutex.h:67
static void metal_mutex_deinit(metal_mutex_t *mutex)
Deinitialize a libmetal mutex.
Definition mutex.h:38
Definition mutex.h:28
static void __metal_mutex_release(metal_mutex_t *mutex)
Definition mutex.h:64
static void __metal_mutex_deinit(metal_mutex_t *mutex)
Definition mutex.h:45
static int __metal_mutex_try_acquire(metal_mutex_t *mutex)
Definition mutex.h:52
static int __metal_mutex_is_acquired(metal_mutex_t *mutex)
Definition mutex.h:70
static void __metal_mutex_acquire(metal_mutex_t *mutex)
Definition mutex.h:58
static void __metal_mutex_init(metal_mutex_t *mutex)
Definition mutex.h:38