ChibiOS/RT Logo ChibiOS/RT

Architecture - Reference Manual - Guides

chqueues.h File Reference

Queues macros and structures. More...

Go to the source code of this file.

Data Structures

struct  GenericQueue
 Generic I/O queue structure. More...

Defines

#define Q_OK   RDY_OK
 Returned by the queue functions if the operation is successful.
#define Q_TIMEOUT   RDY_TIMEOUT
 Returned by the queue functions if a timeout occurs.
#define Q_RESET   RDY_RESET
 Returned by the queue functions if the queue is reset.
#define Q_EMPTY   -3
 Returned by the queue functions if the queue is empty.
#define Q_FULL   -4
 Returned by the queue functions if the queue is full.
#define chQSize(q)   ((q)->q_top - (q)->q_buffer)
 Returns the queue's buffer size.
#define chQSpace(q)   chSemGetCounterI(&(q)->q_sem)
 Queue space.
#define chIQIsEmpty(q)   ((bool_t)(chQSpace(q) <= 0))
 Evaluates to TRUE if the specified Input Queue is empty.
#define chIQIsFull(q)   ((bool_t)(chQSpace(q) >= chQSize(q)))
 Evaluates to TRUE if the specified Input Queue is full.
#define chIQGet(iqp)   chIQGetTimeout(iqp, TIME_INFINITE)
 Input queue read.
#define _INPUTQUEUE_DATA(name, buffer, size, inotify)
 Data part of a static input queue initializer.
#define INPUTQUEUE_DECL(name, buffer, size, inotify)   InputQueue name = _INPUTQUEUE_DATA(name, buffer, size, inotify)
 Static input queue initializer.
#define chOQIsEmpty(q)   ((bool_t)(chQSpace(q) >= chQSize(q)))
 Evaluates to TRUE if the specified Output Queue is empty.
#define chOQIsFull(q)   ((bool_t)(chQSpace(q) <= 0))
 Evaluates to TRUE if the specified Output Queue is full.
#define chOQPut(oqp, b)   chOQPutTimeout(oqp, b, TIME_INFINITE)
 Output queue write.
#define _OUTPUTQUEUE_DATA(name, buffer, size, onotify)
 Data part of a static output queue initializer.
#define OUTPUTQUEUE_DECL(name, buffer, size, onotify)   InputQueue name = _OUTPUTQUEUE_DATA(name, buffer, size, onotify)
 Static output queue initializer.

Typedefs

typedef void(* qnotify_t )(void)
 Queue notification callback type.
typedef GenericQueue InputQueue
 Input queue structure.
typedef GenericQueue OutputQueue
 Output queue structure.

Functions

void chIQInit (InputQueue *iqp, uint8_t *bp, size_t size, qnotify_t infy)
 Initializes an input queue.
void chIQResetI (InputQueue *iqp)
 Resets an input queue.
msg_t chIQPutI (InputQueue *iqp, uint8_t b)
 Input queue write.
msg_t chIQGetTimeout (InputQueue *iqp, systime_t time)
 Input queue read with timeout.
size_t chIQReadTimeout (InputQueue *iqp, uint8_t *bp, size_t n, systime_t time)
 Input queue read with timeout.
void chOQInit (OutputQueue *oqp, uint8_t *bp, size_t size, qnotify_t onfy)
 Initializes an output queue.
void chOQResetI (OutputQueue *oqp)
 Resets an output queue.
msg_t chOQPutTimeout (OutputQueue *oqp, uint8_t b, systime_t time)
 Output queue write with timeout.
msg_t chOQGetI (OutputQueue *oqp)
 Output queue read.
size_t chOQWriteTimeout (OutputQueue *oqp, const uint8_t *bp, size_t n, systime_t time)
 Output queue write with timeout.

Detailed Description

Queues macros and structures.

I/O

Definition in file chqueues.h.


Generated on Sun Jul 11 13:13:02 2010 for ChibiOS/RT by doxygen 1.6.3