Choco OS  V.0.16.9.0
Join to the chocolate world
oc_event.h
Go to the documentation of this file.
1 
28 #ifndef INC_KERNEL_OC_EVENT_H_
29 #define INC_KERNEL_OC_EVENT_H_
30 
31 #include <stdbool.h>
32 #include <oc_time.h>
33 #include <oc_stdlib.h>
34 
40 #define _________________________________________TYPES_SECTION______________________________________________________________________________
41 
44 typedef struct Event_t * oC_Event_t;
45 
46 typedef enum
47 {
48  oC_Event_State_Active = 0xFFFFFFFFU ,
49  oC_Event_State_Inactive = 0 ,
50 } oC_Event_State_t;
51 
52 typedef enum
53 {
54  oC_Event_StateMask_Full = oC_Event_State_Active,
55  oC_Event_StateMask_DifferentThan = 0 ,
56 } oC_Event_StateMask_t;
57 
58 typedef enum
59 {
60  oC_Event_Protect_NotProtected = 0 ,
61  oC_Event_Protect_Protected = 0xFF
62 } oC_Event_Protect_t;
63 
64 typedef enum
65 {
66  oC_Event_CompareType_Equal ,
67  oC_Event_CompareType_Less ,
68  oC_Event_CompareType_LessOrEqual ,
69  oC_Event_CompareType_Greater ,
70  oC_Event_CompareType_GreaterOrEqual ,
71  oC_Event_CompareType_NumberOfElements
72 } oC_Event_CompareType_t;
73 
74 #undef _________________________________________TYPES_SECTION______________________________________________________________________________
75 
82 #define _________________________________________FUNCTIONS_SECTION__________________________________________________________________________
83 
86 extern oC_Event_t oC_Event_New ( oC_Event_State_t InitState , Allocator_t Allocator , AllocationFlags_t Flags );
87 extern bool oC_Event_Delete ( oC_Event_t * Event , AllocationFlags_t Flags );
88 extern bool oC_Event_ProtectDelete ( oC_Event_t Event , Allocator_t Allocator , oC_Event_Protect_t Protection );
89 extern bool oC_Event_IsCorrect ( oC_Event_t Event );
90 extern oC_Event_State_t oC_Event_GetState ( oC_Event_t Event );
91 extern bool oC_Event_SetState ( oC_Event_t Event , oC_Event_State_t State );
92 extern bool oC_Event_ClearStateBits ( oC_Event_t Event , uint32_t StateMask );
93 extern bool oC_Event_ReadState ( oC_Event_t Event , oC_Event_State_t * outState );
94 extern bool oC_Event_WaitForState ( oC_Event_t Event , oC_Event_State_t State , oC_Event_StateMask_t StateMask , oC_Time_t Timeout );
95 extern bool oC_Event_WaitForValue ( oC_Event_t Event , oC_Event_State_t Value , oC_Event_CompareType_t CompareType, oC_Time_t Timeout );
96 
97 
98 #undef _________________________________________FUNCTIONS_SECTION__________________________________________________________________________
99 
101 #endif /* INC_KERNEL_OC_EVENT_H_ */
bool oC_Event_WaitForState(oC_Event_t Event, oC_Event_State_t State, oC_Event_StateMask_t StateMask, oC_Time_t Timeout)
Definition: oc_event.c:245
identifier for allocations
Definition: oc_stdlib.h:159
The library with time definitions.
static const oC_Allocator_t Allocator
Definition: oc_eth.c:152