ChibiOS/RT
2.5.1
GenericQueue Struct Reference

Detailed Description

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>

Collaboration diagram for GenericQueue:

Data Fields

ThreadsQueue q_waiting
 Queue of waiting threads.
size_t q_counter
 Resources counter.
uint8_tq_buffer
 Pointer to the queue buffer.
uint8_tq_top
 Pointer to the first location after the buffer.
uint8_tq_wrptr
 Write pointer.
uint8_tq_rdptr
 Read pointer.
qnotify_t q_notify
 Data notification callback.
void * q_link
 Application defined field.

Field Documentation

Queue of waiting threads.

Definition at line 63 of file chqueues.h.

Referenced by chIQInit(), chIQPutI(), chIQResetI(), chOQGetI(), chOQInit(), and chOQResetI().

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().

Data notification callback.

Definition at line 70 of file chqueues.h.

Referenced by chIQGetTimeout(), chIQInit(), chIQReadTimeout(), chOQInit(), chOQPutTimeout(), and chOQWriteTimeout().

Application defined field.

Definition at line 71 of file chqueues.h.

Referenced by chIQInit(), and chOQInit().