| ChibiOS
    19.1.4
    | 
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 75 of file hal_buffers.h.
| threads_queue_t io_buffers_queue::waiting | 
Queue of waiting threads.
Definition at line 79 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 83 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 87 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 91 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 95 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 99 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 106 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 110 of file hal_buffers.h.
Referenced by ibqObjectInit(), and obqObjectInit().
| uint8_t* io_buffers_queue::buffers | 
Queue of buffer objects.
Definition at line 114 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 119 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 123 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 127 of file hal_buffers.h.
Referenced by ibqObjectInit(), ibqReleaseEmptyBufferS(), obqObjectInit(), and obqPostFullBufferS().
| void* io_buffers_queue::link | 
Application defined field.
Definition at line 131 of file hal_buffers.h.
Referenced by ibqObjectInit(), and obqObjectInit().