ubinos
condv.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2009 Sung Ho Park
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 
7 #ifndef UBIK_CONDV_H_
8 #define UBIK_CONDV_H_
9 
10 #ifdef __cplusplus
11 extern "C"
12 {
13 #endif
14 
30 #include <ubinos_config.h>
31 #include <ubinos/type.h>
32 
33 #include "task.h"
34 #include "mutex.h"
35 
37 typedef struct __condv_tip_t
38 {
39  unsigned int type :8;
40  unsigned int valid :1;
41  unsigned int reserved :7;
42  unsigned int reserved2 :16;
44 
47 
58 int condv_create(condv_pt * condv_p);
59 
73 int condv_create_ext(condv_pt * condv_p, unsigned int option);
74 
86 int condv_delete(condv_pt * condv_p);
87 
102 int condv_wait(condv_pt condv, mutex_pt mutex);
103 
121 int condv_wait_timed(condv_pt condv, mutex_pt mutex, unsigned int tick);
122 
140 int condv_wait_timedms(condv_pt condv, mutex_pt mutex, unsigned int timems);
141 
153 
165 
180 
181 #ifdef __cplusplus
182 }
183 #endif
184 
185 #endif /* UBIK_CONDV_H_ */
int condv_wait_timedms(condv_pt condv, mutex_pt mutex, unsigned int timems)
struct __condv_tip_t _condv_tip_t
int condv_delete(condv_pt *condv_p)
int condv_create_ext(condv_pt *condv_p, unsigned int option)
int condv_signal(condv_pt condv)
int condv_create(condv_pt *condv_p)
int condv_broadcast(condv_pt condv)
int condv_wait_timed(condv_pt condv, mutex_pt mutex, unsigned int tick)
int condv_wait(condv_pt condv, mutex_pt mutex)
int condv_setsender(condv_pt condv, task_pt task)
_condv_tip_t * condv_pt
Definition: condv.h:46
ubik mutex API
Definition: condv.h:38
unsigned int reserved2
Definition: condv.h:42
unsigned int type
Definition: condv.h:39
unsigned int reserved
Definition: condv.h:41
unsigned int valid
Definition: condv.h:40
Definition: mutex.h:235
Definition: task.h:342
ubik task API
ubinos basic data type