ChibiOS/RT Architecture - Reference Manual - Guides |
Generic I/O queue structure. More...
#include <chqueues.h>
Data Fields | |
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. | |
Semaphore | q_sem |
Counter Semaphore . | |
qnotify_t | q_notify |
Data notification callback. |
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 70 of file chqueues.h.
Pointer to the queue buffer.
Definition at line 71 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 72 of file chqueues.h.
Referenced by chIQGetTimeout(), chIQInit(), chIQPutI(), chIQReadTimeout(), chOQGetI(), chOQInit(), chOQPutTimeout(), chOQResetI(), and chOQWriteTimeout().
Write pointer.
Definition at line 74 of file chqueues.h.
Referenced by chIQInit(), chIQPutI(), chIQResetI(), chOQInit(), chOQPutTimeout(), chOQResetI(), and chOQWriteTimeout().
Read pointer.
Definition at line 75 of file chqueues.h.
Referenced by chIQGetTimeout(), chIQInit(), chIQReadTimeout(), chIQResetI(), chOQGetI(), chOQInit(), and chOQResetI().
Counter Semaphore
.
Definition at line 76 of file chqueues.h.
Referenced by chIQGetTimeout(), chIQInit(), chIQPutI(), chIQReadTimeout(), chIQResetI(), chOQGetI(), chOQInit(), chOQPutTimeout(), chOQResetI(), and chOQWriteTimeout().
Data notification callback.
Definition at line 77 of file chqueues.h.
Referenced by chIQGetTimeout(), chIQInit(), chIQReadTimeout(), chOQInit(), chOQPutTimeout(), and chOQWriteTimeout().