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_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.

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

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

Application defined field.

Definition at line 71 of file chqueues.h.

Referenced by chIQInit(), and chOQInit().