libmetal
condition.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2016, Xilinx Inc. and Contributors. All rights reserved.
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 /*
8  * @file generic/condition.h
9  * @brief Generic condition variable primitives for libmetal.
10  */
11 
12 #ifndef __METAL_CONDITION__H__
13 #error "Include metal/condition.h instead of metal/freertos/condition.h"
14 #endif
15 
16 #ifndef __METAL_FREERTOS_CONDITION__H__
17 #define __METAL_FREERTOS_CONDITION__H__
18 
19 #include <metal/atomic.h>
20 
21 #ifdef __cplusplus
22 extern "C" {
23 #endif
24 
33 };
34 
36 #define METAL_CONDITION_INIT { NULL, ATOMIC_VAR_INIT(0) }
37 
38 static inline void metal_condition_init(struct metal_condition *cv)
39 {
40  /* TODO: Implement condition variable for FreeRTOS */
41  (void)cv;
42  return;
43 }
44 
45 static inline int metal_condition_signal(struct metal_condition *cv)
46 {
47  /* TODO: Implement condition variable for FreeRTOS */
48  (void)cv;
49  return 0;
50 }
51 
52 static inline int metal_condition_broadcast(struct metal_condition *cv)
53 {
54  /* TODO: Implement condition variable for FreeRTOS */
55  (void)cv;
56  return 0;
57 }
58 
59 
60 #ifdef __cplusplus
61 }
62 #endif
63 
64 #endif /* __METAL_FREERTOS_CONDITION__H__ */
static int metal_condition_signal(struct metal_condition *cv)
Definition: condition.h:45
atomic_int v
Definition: condition.h:32
Definition: condition.h:25
static void metal_condition_init(struct metal_condition *cv)
Definition: condition.h:38
static int metal_condition_broadcast(struct metal_condition *cv)
Definition: condition.h:52
Definition: mutex.h:26
metal_mutex_t * m
Definition: condition.h:26
int atomic_int
Definition: atomic.h:24