Golem  v0.1.1
Generic Operating system Libraries for Embedded Multitasking
 All Data Structures Files Functions Variables Pages
/home/ruud/Engineering/software/projects/golem-project-code/trunk/glm_signal.h
Go to the documentation of this file.
1 
27 #ifndef _GLM_SIGNAL_H_
28 #define _GLM_SIGNAL_H_
29 
30 #ifdef __cplusplus
31 extern "C" {
32 #endif
33 
34 
35 /* INCLUDES *******************************************************************/
36 #include <stdbool.h>
37 #include "glm_heap.h"
38 
39 
40 /* TYPES **********************************************************************/
41 typedef uint_base_t signal_t, flag_t;
42 
43 
44 /* PUBLIC FUNCTIONS ***********************************************************/
45 
46 
57 extern bool signal_init();
58 
59 
65 extern void signal_reset();
66 
67 
74 extern char * signal_name();
75 
76 
90 extern bool signal_create(signal_t *signal);
91 
92 
113 extern bool signal_create_flag(flag_t * flag);
114 
115 
129 extern bool signal_connect(signal_t signal, flag_t flag);
130 
131 
140 extern void signal_reset_connections(signal_t signal);
141 
142 
150 extern void signal_emit(signal_t signal);
151 
152 
163 extern void signal_emit_delayed(signal_t signal, uint_base_t delay);
164 
165 
173 extern bool signal_flag_isset(flag_t flag);
174 
175 
183 extern void signal_flag_clear(flag_t flag);
184 
185 
194 extern void signal_flag_reset(flag_t flag);
195 
196 
197 #ifdef __cplusplus
198 }
199 #endif
200 
201 #endif /* _GLM_SIGNAL_H_ */