enum TN_RCode tn_queue_ireceive_polling(struct TN_DQueue *dque, void **pp_data)
The same as tn_queue_receive() with zero timeout, but for using in the ISR.
enum TN_ObjId id_dque
id for object validity verification.
void ** data_fifo
array of void * to store data queue items. Can be TN_NULL.
enum TN_RCode tn_queue_eventgrp_connect(struct TN_DQueue *dque, struct TN_EventGrp *eventgrp, TN_UWord pattern)
Connect an event group to the queue.
enum TN_RCode tn_queue_create(struct TN_DQueue *dque, void **data_fifo, int items_cnt)
Construct data queue.
struct TN_ListItem wait_send_list
list of tasks waiting to send data
unsigned int TN_UWord
Unsigned integer type whose size is equal to the size of CPU register.
int tn_queue_used_items_cnt_get(struct TN_DQueue *dque)
Returns number of used (non-free) items in the queue.
DQueue-specific fields related to waiting task, to be included in struct TN_Task.
enum TN_RCode tn_queue_isend_polling(struct TN_DQueue *dque, void *p_data)
The same as tn_queue_send() with zero timeout, but for using in the ISR.
enum TN_RCode tn_queue_delete(struct TN_DQueue *dque)
Destruct data queue.
enum TN_RCode tn_queue_send_polling(struct TN_DQueue *dque, void *p_data)
The same as tn_queue_send() with zero timeout.
int items_cnt
capacity (total items count). Can be 0.
enum TN_RCode tn_queue_receive_polling(struct TN_DQueue *dque, void **pp_data)
The same as tn_queue_receive() with zero timeout.
int head_idx
index of the item which will be written next time
A link to event group: used when event group can be connected to some kernel object,...
TN_RCode
Result code returned by kernel services.
int filled_items_cnt
count of non-free items in data_fifo
int tn_queue_free_items_cnt_get(struct TN_DQueue *dque)
Returns number of free items in the queue.
enum TN_RCode tn_queue_receive(struct TN_DQueue *dque, void **pp_data, TN_TickCnt timeout)
Receive the data element from the data queue specified by the dque and place it into the address spec...
Structure representing data queue object.
enum TN_RCode tn_queue_eventgrp_disconnect(struct TN_DQueue *dque)
Disconnect a connected event group from the queue.
int tail_idx
index of the item which will be read next time
unsigned long TN_TickCnt
Type for system tick count, it is used by the kernel to represent absolute tick count value as well a...
enum TN_RCode tn_queue_send(struct TN_DQueue *dque, void *p_data, TN_TickCnt timeout)
Send the data element specified by the p_data to the data queue specified by the dque.
struct TN_EGrpLink eventgrp_link
connected event group
void * data_elem
if task tries to send the data to the data queue, and there's no space in the queue,...
TN_ObjId
Magic number for object validity verification.
struct TN_ListItem wait_receive_list
list of tasks waiting to receive data
Circular doubly linked list item, for internal kernel usage.