|
ChibiOS/HAL 9.0.0
|
I/O Buffers macros and structures. More...
Go to the source code of this file.
Data Structures | |
| struct | io_buffers_queue |
| Structure of a generic buffers queue. More... | |
Macros | |
| #define | BUFFERS_CHUNKS_SIZE 64 |
| Maximum size of blocks copied in critical sections. | |
| #define | BQ_BUFFER_SIZE(n, size) |
| Computes the size of a buffers queue buffer size. | |
Macro Functions | |
| #define | bqSizeX(bqp) |
| Returns the queue's number of buffers. | |
| #define | bqSpaceI(bqp) |
| Return the ready buffers number. | |
| #define | bqGetLinkX(bqp) |
| Returns the queue application-defined link. | |
| #define | bqSetLinkX(bqp, lk) |
| Sets the queue application-defined link. | |
| #define | bqIsSuspendedX(bqp) |
| Return the suspended state of the queue. | |
| #define | bqSuspendI(bqp) |
| Puts the queue in suspended state. | |
| #define | bqResumeX(bqp) |
| Resumes normal queue operations. | |
| #define | ibqIsEmptyI(ibqp) |
Evaluates to true if the specified input buffers queue is empty. | |
| #define | ibqIsFullI(ibqp) |
Evaluates to true if the specified input buffers queue is full. | |
| #define | obqIsEmptyI(obqp) |
Evaluates to true if the specified output buffers queue is empty. | |
| #define | obqIsFullI(obqp) |
Evaluates to true if the specified output buffers queue is full. | |
Typedefs | |
| typedef struct io_buffers_queue | io_buffers_queue_t |
| Type of a generic queue of buffers. | |
| typedef void(* | bqnotify_t) (io_buffers_queue_t *bqp) |
| Double buffer notification callback type. | |
| typedef io_buffers_queue_t | input_buffers_queue_t |
| Type of an input buffers queue. | |
| typedef io_buffers_queue_t | output_buffers_queue_t |
| Type of an output buffers queue. | |
Functions | |
| void | ibqObjectInit (input_buffers_queue_t *ibqp, bool suspended, uint8_t *bp, size_t size, size_t n, bqnotify_t infy, void *link) |
| Initializes an input buffers queue object. | |
| void | ibqResetI (input_buffers_queue_t *ibqp) |
| Resets an input buffers queue. | |
| uint8_t * | ibqGetEmptyBufferI (input_buffers_queue_t *ibqp) |
| Gets the next empty buffer from the queue. | |
| void | ibqPostFullBufferI (input_buffers_queue_t *ibqp, size_t size) |
| Posts a new filled buffer to the queue. | |
| msg_t | ibqGetFullBufferTimeout (input_buffers_queue_t *ibqp, sysinterval_t timeout) |
| Gets the next filled buffer from the queue. | |
| msg_t | ibqGetFullBufferTimeoutS (input_buffers_queue_t *ibqp, sysinterval_t timeout) |
| Gets the next filled buffer from the queue. | |
| void | ibqReleaseEmptyBuffer (input_buffers_queue_t *ibqp) |
| Releases the buffer back in the queue. | |
| void | ibqReleaseEmptyBufferS (input_buffers_queue_t *ibqp) |
| Releases the buffer back in the queue. | |
| msg_t | ibqGetTimeout (input_buffers_queue_t *ibqp, sysinterval_t timeout) |
| Input queue read with timeout. | |
| size_t | ibqReadTimeout (input_buffers_queue_t *ibqp, uint8_t *bp, size_t n, sysinterval_t timeout) |
| Input queue read with timeout. | |
| void | obqObjectInit (output_buffers_queue_t *obqp, bool suspended, uint8_t *bp, size_t size, size_t n, bqnotify_t onfy, void *link) |
| Initializes an output buffers queue object. | |
| void | obqResetI (output_buffers_queue_t *obqp) |
| Resets an output buffers queue. | |
| uint8_t * | obqGetFullBufferI (output_buffers_queue_t *obqp, size_t *sizep) |
| Gets the next filled buffer from the queue. | |
| void | obqReleaseEmptyBufferI (output_buffers_queue_t *obqp) |
| Releases the next filled buffer back in the queue. | |
| msg_t | obqGetEmptyBufferTimeout (output_buffers_queue_t *obqp, sysinterval_t timeout) |
| Gets the next empty buffer from the queue. | |
| msg_t | obqGetEmptyBufferTimeoutS (output_buffers_queue_t *obqp, sysinterval_t timeout) |
| Gets the next empty buffer from the queue. | |
| void | obqPostFullBuffer (output_buffers_queue_t *obqp, size_t size) |
| Posts a new filled buffer to the queue. | |
| void | obqPostFullBufferS (output_buffers_queue_t *obqp, size_t size) |
| Posts a new filled buffer to the queue. | |
| msg_t | obqPutTimeout (output_buffers_queue_t *obqp, uint8_t b, sysinterval_t timeout) |
| Output queue write with timeout. | |
| size_t | obqWriteTimeout (output_buffers_queue_t *obqp, const uint8_t *bp, size_t n, sysinterval_t timeout) |
| Output queue write with timeout. | |
| bool | obqTryFlushI (output_buffers_queue_t *obqp) |
| Flushes the current, partially filled, buffer to the queue. | |
| void | obqFlush (output_buffers_queue_t *obqp) |
| Flushes the current, partially filled, buffer to the queue. | |
I/O Buffers macros and structures.
Definition in file hal_buffers.h.