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