ChibiOS/HAL
6.1.0
|
Structure of a generic buffers queue. More...
#include <hal_buffers.h>
Data Fields | |
threads_queue_t | waiting |
Queue of waiting threads. More... | |
bool | suspended |
Queue suspended state flag. More... | |
volatile size_t | bcounter |
Active buffers counter. More... | |
uint8_t * | bwrptr |
Buffer write pointer. More... | |
uint8_t * | brdptr |
Buffer read pointer. More... | |
uint8_t * | btop |
Pointer to the buffers boundary. More... | |
size_t | bsize |
Size of buffers. More... | |
size_t | bn |
Number of buffers. More... | |
uint8_t * | buffers |
Queue of buffer objects. More... | |
uint8_t * | ptr |
Pointer for R/W sequential access. More... | |
uint8_t * | top |
Boundary for R/W sequential access. More... | |
bqnotify_t | notify |
Data notification callback. More... | |
void * | link |
Application defined field. More... | |
Structure of a generic buffers queue.
Definition at line 59 of file hal_buffers.h.
threads_queue_t io_buffers_queue::waiting |
Queue of waiting threads.
Definition at line 63 of file hal_buffers.h.
Referenced by ibqGetFullBufferTimeoutS(), ibqObjectInit(), ibqPostFullBufferI(), ibqResetI(), obqGetEmptyBufferTimeoutS(), obqObjectInit(), obqReleaseEmptyBufferI(), and obqResetI().
bool io_buffers_queue::suspended |
Queue suspended state flag.
Definition at line 67 of file hal_buffers.h.
Referenced by ibqGetFullBufferTimeoutS(), ibqObjectInit(), obqGetEmptyBufferTimeoutS(), and obqObjectInit().
volatile size_t io_buffers_queue::bcounter |
Active buffers counter.
Definition at line 71 of file hal_buffers.h.
Referenced by ibqObjectInit(), ibqPostFullBufferI(), ibqReleaseEmptyBufferS(), ibqResetI(), obqObjectInit(), obqPostFullBufferS(), obqReleaseEmptyBufferI(), obqResetI(), and obqTryFlushI().
uint8_t* io_buffers_queue::bwrptr |
Buffer write pointer.
Definition at line 75 of file hal_buffers.h.
Referenced by ibqGetEmptyBufferI(), ibqObjectInit(), ibqPostFullBufferI(), ibqResetI(), obqFlush(), obqGetEmptyBufferTimeoutS(), obqObjectInit(), obqPostFullBufferS(), obqResetI(), and obqTryFlushI().
uint8_t* io_buffers_queue::brdptr |
Buffer read pointer.
Definition at line 79 of file hal_buffers.h.
Referenced by ibqGetFullBufferTimeoutS(), ibqObjectInit(), ibqReleaseEmptyBufferS(), ibqResetI(), obqGetFullBufferI(), obqObjectInit(), obqReleaseEmptyBufferI(), and obqResetI().
uint8_t* io_buffers_queue::btop |
Pointer to the buffers boundary.
Definition at line 83 of file hal_buffers.h.
Referenced by ibqObjectInit(), ibqPostFullBufferI(), ibqReleaseEmptyBufferS(), obqObjectInit(), obqPostFullBufferS(), obqReleaseEmptyBufferI(), and obqTryFlushI().
size_t io_buffers_queue::bsize |
Size of buffers.
sizeof(size_t) + 2
because the first bytes are used to store the used size of the buffer. Definition at line 90 of file hal_buffers.h.
Referenced by ibqObjectInit(), ibqPostFullBufferI(), ibqReleaseEmptyBufferS(), obqGetEmptyBufferTimeoutS(), obqObjectInit(), obqPostFullBufferS(), obqPutTimeout(), obqReleaseEmptyBufferI(), obqTryFlushI(), and obqWriteTimeout().
size_t io_buffers_queue::bn |
Number of buffers.
Definition at line 94 of file hal_buffers.h.
Referenced by ibqObjectInit(), and obqObjectInit().
uint8_t* io_buffers_queue::buffers |
Queue of buffer objects.
Definition at line 98 of file hal_buffers.h.
Referenced by ibqObjectInit(), ibqPostFullBufferI(), ibqReleaseEmptyBufferS(), ibqResetI(), obqObjectInit(), obqPostFullBufferS(), obqReleaseEmptyBufferI(), obqResetI(), and obqTryFlushI().
uint8_t* io_buffers_queue::ptr |
Pointer for R/W sequential access.
NULL
if a new buffer must be fetched from the queue. Definition at line 103 of file hal_buffers.h.
Referenced by ibqGetFullBufferTimeoutS(), ibqGetTimeout(), ibqObjectInit(), ibqReadTimeout(), ibqReleaseEmptyBufferS(), ibqResetI(), obqFlush(), obqGetEmptyBufferTimeoutS(), obqObjectInit(), obqPostFullBufferS(), obqPutTimeout(), obqResetI(), obqTryFlushI(), and obqWriteTimeout().
uint8_t* io_buffers_queue::top |
Boundary for R/W sequential access.
Definition at line 107 of file hal_buffers.h.
Referenced by ibqGetFullBufferTimeoutS(), ibqGetTimeout(), ibqObjectInit(), ibqReadTimeout(), ibqResetI(), obqGetEmptyBufferTimeoutS(), obqObjectInit(), obqPutTimeout(), obqResetI(), and obqWriteTimeout().
bqnotify_t io_buffers_queue::notify |
Data notification callback.
Definition at line 111 of file hal_buffers.h.
Referenced by ibqObjectInit(), ibqReleaseEmptyBufferS(), obqObjectInit(), and obqPostFullBufferS().
void* io_buffers_queue::link |
Application defined field.
Definition at line 115 of file hal_buffers.h.
Referenced by ibqObjectInit(), and obqObjectInit().