99 #ifndef _TN_EVENTGRP_H   100 #define _TN_EVENTGRP_H   172 #if TN_OLD_EVENT_API || defined(DOXYGEN_ACTIVE)   225 #if TN_OLD_EVENT_API || defined(DOXYGEN_ACTIVE)   466 #endif // _TN_EVENTGRP_H A link to event group: used when event group can be connected to some kernel object, such as queue. 
enum TN_RCode tn_eventgrp_create_wattr(struct TN_EventGrp *eventgrp, enum TN_EGrpAttr attr, TN_UWord initial_pattern)
The same as tn_eventgrp_create(), but takes additional argument: attr. 
When a task successfully ends waiting for event bit(s), these bits get cleared atomically and automat...
enum TN_RCode tn_eventgrp_iwait_polling(struct TN_EventGrp *eventgrp, TN_UWord wait_pattern, enum TN_EGrpWaitMode wait_mode, TN_UWord *p_flags_pattern)
The same as tn_eventgrp_wait() with zero timeout, but for using in the ISR. 
Task waits for all of the event bits from the wait_pattern to be set in the event group...
Circular doubly linked list, for internal kernel usage. 
TN_EGrpOp
Modify operation: set, clear or toggle. 
Clear flags that are set in the given pattern argument. 
TN_RCode
Result code returned by kernel services. 
TN_ObjId
Magic number for object validity verification. 
EventGrp-specific fields related to waiting task, to be included in struct TN_Task. 
unsigned long TN_TickCnt
Type for system tick count, it is used by the kernel to represent absolute tick count value as well a...
TN_EGrpWaitMode
Events waiting mode that should be given to tn_eventgrp_wait() and friends. 
Definitions used through the whole kernel. 
struct TN_EventGrp * eventgrp
event group whose event(s) should be managed by other kernel object 
enum TN_RCode tn_eventgrp_imodify(struct TN_EventGrp *eventgrp, enum TN_EGrpOp operation, TN_UWord pattern)
The same as tn_eventgrp_modify(), but for using in the ISR. 
Toggle flags that are set in the given pattern argument. 
TN_UWord pattern
event pattern to manage 
Task waits for any of the event bits from the wait_pattern to be set in the event group...
enum TN_RCode tn_eventgrp_wait(struct TN_EventGrp *eventgrp, TN_UWord wait_pattern, enum TN_EGrpWaitMode wait_mode, TN_UWord *p_flags_pattern, TN_TickCnt timeout)
Wait for specified event(s) in the event group. 
enum TN_ObjId id_event
id for object validity verification. 
#define TN_OLD_EVENT_API
Whether the old TNKernel events API compatibility mode is active. 
enum TN_EGrpAttr attr
Attributes that are given to that events group, available if only TN_OLD_EVENT_API option is non-zero...
TN_EGrpAttr
Attributes that could be given to the event group object. 
enum TN_RCode tn_eventgrp_modify(struct TN_EventGrp *eventgrp, enum TN_EGrpOp operation, TN_UWord pattern)
Modify current events bit pattern in the event group. 
enum TN_RCode tn_eventgrp_delete(struct TN_EventGrp *eventgrp)
Destruct event group. 
#define _TN_STATIC_INLINE
For some compilers, order of these qualifiers matters (at least when _TN_INLINE expands to some compi...
TN_UWord wait_pattern
event wait pattern 
_TN_STATIC_INLINE enum TN_RCode tn_eventgrp_create(struct TN_EventGrp *eventgrp, TN_UWord initial_pattern)
Construct event group. 
Kernel system routines: system start, tick processing, time slice managing. 
Set flags that are set in given pattern argument. 
TN_UWord actual_pattern
pattern that caused task to finish waiting 
Circular doubly linked list item, for internal kernel usage. 
unsigned int TN_UWord
Unsigned integer type whose size is equal to the size of CPU register. 
Dummy attribute that does not change anything. 
TN_UWord pattern
current flags pattern 
enum TN_RCode tn_eventgrp_wait_polling(struct TN_EventGrp *eventgrp, TN_UWord wait_pattern, enum TN_EGrpWaitMode wait_mode, TN_UWord *p_flags_pattern)
The same as tn_eventgrp_wait() with zero timeout. 
struct TN_ListItem wait_queue
task wait queue