Circular doubly linked list, for internal kernel usage. 
TN_RCode
Result code returned by kernel services. 
TN_ObjId
Magic number for object validity verification TODO: use TN_UWord here instead of unsigned int...
unsigned long TN_Timeout
The value representing maximum number of system ticks to wait. 
enum TN_RCode tn_sem_signal(struct TN_Sem *sem)
Signal the semaphore. 
Definitions used through the whole kernel. 
enum TN_RCode tn_sem_wait_polling(struct TN_Sem *sem)
The same as tn_sem_wait() with zero timeout. 
struct TN_ListItem wait_queue
List of tasks that wait for the semaphore. 
enum TN_ObjId id_sem
id for object validity verification 
enum TN_RCode tn_sem_iwait_polling(struct TN_Sem *sem)
The same as tn_sem_wait() with zero timeout, but for using in the ISR. 
enum TN_RCode tn_sem_delete(struct TN_Sem *sem)
Destruct the semaphore. 
enum TN_RCode tn_sem_isignal(struct TN_Sem *sem)
The same as tn_sem_signal() but for using in the ISR. 
enum TN_RCode tn_sem_create(struct TN_Sem *sem, int start_count, int max_count)
Construct the semaphore. 
int count
Current semaphore counter value. 
enum TN_RCode tn_sem_wait(struct TN_Sem *sem, TN_Timeout timeout)
Wait for the semaphore. 
Circular doubly linked list item, for internal kernel usage. 
int max_count
Max value of count