ChibiOS/HAL
6.1.0
|
Generic I/O queue structure. More...
#include <hal_queues.h>
Data Fields | |
threads_queue_t | q_waiting |
Queue of waiting threads. More... | |
volatile size_t | q_counter |
Resources counter. More... | |
uint8_t * | q_buffer |
Pointer to the queue buffer. More... | |
uint8_t * | q_top |
Pointer to the first location after the buffer. More... | |
uint8_t * | q_wrptr |
Write pointer. More... | |
uint8_t * | q_rdptr |
Read pointer. More... | |
qnotify_t | q_notify |
Data notification callback. More... | |
void * | q_link |
Application defined field. More... | |
Generic I/O queue structure.
This structure represents a generic Input or Output asymmetrical queue. The queue is asymmetrical because one end is meant to be accessed from a thread context, and thus can be blocking, the other end is accessible from interrupt handlers or from within a kernel lock zone and is non-blocking.
Definition at line 75 of file hal_queues.h.
threads_queue_t io_queue::q_waiting |
Queue of waiting threads.
Definition at line 76 of file hal_queues.h.
Referenced by iqGetTimeout(), iqObjectInit(), iqPutI(), iqReadTimeout(), iqResetI(), oqGetI(), oqObjectInit(), oqPutTimeout(), oqResetI(), and oqWriteTimeout().
volatile size_t io_queue::q_counter |
Resources counter.
Definition at line 77 of file hal_queues.h.
Referenced by iq_read(), iqGetI(), iqGetTimeout(), iqObjectInit(), iqPutI(), iqResetI(), oq_write(), oqGetI(), oqObjectInit(), oqPutI(), oqPutTimeout(), and oqResetI().
uint8_t* io_queue::q_buffer |
Pointer to the queue buffer.
Definition at line 78 of file hal_queues.h.
Referenced by iq_read(), iqGetI(), iqGetTimeout(), iqObjectInit(), iqPutI(), iqResetI(), oq_write(), oqGetI(), oqObjectInit(), oqPutI(), oqPutTimeout(), and oqResetI().
uint8_t* io_queue::q_top |
Pointer to the first location after the buffer.
Definition at line 79 of file hal_queues.h.
Referenced by iq_read(), iqGetI(), iqGetTimeout(), iqObjectInit(), iqPutI(), oq_write(), oqGetI(), oqObjectInit(), oqPutI(), and oqPutTimeout().
uint8_t* io_queue::q_wrptr |
Write pointer.
Definition at line 81 of file hal_queues.h.
Referenced by iqObjectInit(), iqPutI(), iqResetI(), oq_write(), oqObjectInit(), oqPutI(), oqPutTimeout(), and oqResetI().
uint8_t* io_queue::q_rdptr |
Read pointer.
Definition at line 82 of file hal_queues.h.
Referenced by iq_read(), iqGetI(), iqGetTimeout(), iqObjectInit(), iqResetI(), oqGetI(), oqObjectInit(), and oqResetI().
qnotify_t io_queue::q_notify |
Data notification callback.
Definition at line 83 of file hal_queues.h.
Referenced by iqGetI(), iqGetTimeout(), iqObjectInit(), iqReadI(), iqReadTimeout(), oqObjectInit(), oqPutI(), oqPutTimeout(), oqWriteI(), and oqWriteTimeout().
void* io_queue::q_link |
Application defined field.
Definition at line 84 of file hal_queues.h.
Referenced by iqObjectInit(), and oqObjectInit().