|
ChibiOS/RT
2.5.1 |
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 (see I-Locked and S-Locked states in System States) and is non-blocking.
Definition at line 62 of file chqueues.h.
#include <chqueues.h>

Data Fields | |
| ThreadsQueue | q_waiting |
| Queue of waiting threads. | |
| size_t | q_counter |
| Resources counter. | |
| uint8_t * | q_buffer |
| Pointer to the queue buffer. | |
| uint8_t * | q_top |
| Pointer to the first location after the buffer. | |
| uint8_t * | q_wrptr |
| Write pointer. | |
| uint8_t * | q_rdptr |
| Read pointer. | |
| qnotify_t | q_notify |
| Data notification callback. | |
| void * | q_link |
| Application defined field. | |
Queue of waiting threads.
Definition at line 63 of file chqueues.h.
Referenced by chIQInit(), chIQPutI(), chIQResetI(), chOQGetI(), chOQInit(), and chOQResetI().
| size_t GenericQueue::q_counter |
Resources counter.
Definition at line 64 of file chqueues.h.
Referenced by chIQGetTimeout(), chIQInit(), chIQPutI(), chIQReadTimeout(), chIQResetI(), chOQGetI(), chOQInit(), chOQPutTimeout(), chOQResetI(), and chOQWriteTimeout().
Pointer to the queue buffer.
Definition at line 65 of file chqueues.h.
Referenced by chIQGetTimeout(), chIQInit(), chIQPutI(), chIQReadTimeout(), chIQResetI(), chOQGetI(), chOQInit(), chOQPutTimeout(), chOQResetI(), and chOQWriteTimeout().
Pointer to the first location after the buffer.
Definition at line 66 of file chqueues.h.
Referenced by chIQGetTimeout(), chIQInit(), chIQPutI(), chIQReadTimeout(), chOQGetI(), chOQInit(), chOQPutTimeout(), and chOQWriteTimeout().
Write pointer.
Definition at line 68 of file chqueues.h.
Referenced by chIQInit(), chIQPutI(), chIQResetI(), chOQInit(), chOQPutTimeout(), chOQResetI(), and chOQWriteTimeout().
Read pointer.
Definition at line 69 of file chqueues.h.
Referenced by chIQGetTimeout(), chIQInit(), chIQReadTimeout(), chIQResetI(), chOQGetI(), chOQInit(), and chOQResetI().
Data notification callback.
Definition at line 70 of file chqueues.h.
Referenced by chIQGetTimeout(), chIQInit(), chIQReadTimeout(), chOQInit(), chOQPutTimeout(), and chOQWriteTimeout().
| void* GenericQueue::q_link |
Application defined field.
Definition at line 71 of file chqueues.h.
Referenced by chIQInit(), and chOQInit().