libmetal  latest
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
18 extern "C" {
19 #endif
20 
29 static inline void metal_mutex_init(metal_mutex_t *mutex)
30 {
31  __metal_mutex_init(mutex);
32 }
33 
38 static inline void metal_mutex_deinit(metal_mutex_t *mutex)
39 {
40  __metal_mutex_deinit(mutex);
41 }
42 
48 static inline int metal_mutex_try_acquire(metal_mutex_t *mutex)
49 {
50  return __metal_mutex_try_acquire(mutex);
51 }
52 
57 static inline void metal_mutex_acquire(metal_mutex_t *mutex)
58 {
59  __metal_mutex_acquire(mutex);
60 }
61 
67 static inline void metal_mutex_release(metal_mutex_t *mutex)
68 {
69  __metal_mutex_release(mutex);
70 }
71 
77 static inline int metal_mutex_is_acquired(metal_mutex_t *mutex)
78 {
79  return __metal_mutex_is_acquired(mutex);
80 }
81 
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