libmetal
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 #ifdef __cplusplus
16 extern "C" {
17 #endif
18 
22 #include <metal/system/@PROJECT_SYSTEM@/mutex.h>
23 
28 static inline void metal_mutex_init(metal_mutex_t *mutex)
29 {
30  __metal_mutex_init(mutex);
31 }
32 
37 static inline void metal_mutex_deinit(metal_mutex_t *mutex)
38 {
39  __metal_mutex_deinit(mutex);
40 }
41 
47 static inline int metal_mutex_try_acquire(metal_mutex_t *mutex)
48 {
49  return __metal_mutex_try_acquire(mutex);
50 }
51 
56 static inline void metal_mutex_acquire(metal_mutex_t *mutex)
57 {
58  __metal_mutex_acquire(mutex);
59 }
60 
66 static inline void metal_mutex_release(metal_mutex_t *mutex)
67 {
68  __metal_mutex_release(mutex);
69 }
70 
76 static inline int metal_mutex_is_acquired(metal_mutex_t *mutex)
77 {
78  return __metal_mutex_is_acquired(mutex);
79 }
80 
83 #ifdef __cplusplus
84 }
85 #endif
86 
87 #endif /* __METAL_MUTEX__H__ */
static int metal_mutex_is_acquired(metal_mutex_t *mutex)
Checked if a mutex has been acquired.
Definition: mutex.h:76
static void metal_mutex_deinit(metal_mutex_t *mutex)
Deinitialize a libmetal mutex.
Definition: mutex.h:37
static void __metal_mutex_deinit(metal_mutex_t *mutex)
Definition: mutex.h:46
static void metal_mutex_release(metal_mutex_t *mutex)
Release a previously acquired mutex.
Definition: mutex.h:66
static void __metal_mutex_release(metal_mutex_t *mutex)
Definition: mutex.h:63
static void metal_mutex_acquire(metal_mutex_t *mutex)
Acquire a mutex.
Definition: mutex.h:56
static void metal_mutex_init(metal_mutex_t *mutex)
Initialize a libmetal mutex.
Definition: mutex.h:28
static int metal_mutex_try_acquire(metal_mutex_t *mutex)
Try to acquire a mutex.
Definition: mutex.h:47
static void __metal_mutex_acquire(metal_mutex_t *mutex)
Definition: mutex.h:56
Definition: mutex.h:26
static int __metal_mutex_is_acquired(metal_mutex_t *mutex)
Definition: mutex.h:68
static int __metal_mutex_try_acquire(metal_mutex_t *mutex)
Definition: mutex.h:51
static void __metal_mutex_init(metal_mutex_t *mutex)
Definition: mutex.h:41