35#include "ove_config.h"
36#include "ove/storage.h"
42#ifdef CONFIG_OVE_STREAM
60 ove_stream_storage_t *storage,
61 void *buffer,
size_t size,
size_t trigger);
102#elif !defined(__ZIG_CIMPORT__)
105#define ove_stream_create(pstream, size, trigger) \
106 ({ static ove_stream_storage_t _ove_stor_; \
107 static uint8_t _ove_buf_[(size) + 1]; \
108 ove_stream_init((pstream), &_ove_stor_, _ove_buf_, \
109 (size), (trigger)); })
110#define ove_stream_destroy(stream) ove_stream_deinit(stream)
131 size_t len, uint32_t timeout_ms,
152 size_t len, uint32_t timeout_ms,
153 size_t *bytes_received);
169 const void *data,
size_t len,
186 void *buf,
size_t len,
187 size_t *bytes_received);
int ove_stream_init(ove_stream_t *stream, ove_stream_storage_t *storage, void *buffer, size_t size, size_t trigger)
Initialise a stream using caller-provided static storage.
int ove_stream_receive(ove_stream_t stream, void *buf, size_t len, uint32_t timeout_ms, size_t *bytes_received)
Receive bytes from the stream in task context.
int ove_stream_send_from_isr(ove_stream_t stream, const void *data, size_t len, size_t *bytes_sent)
Send bytes into the stream from an ISR.
void ove_stream_destroy(ove_stream_t stream)
Destroy a heap-allocated stream.
void ove_stream_deinit(ove_stream_t stream)
Deinitialise a statically-allocated stream.
size_t ove_stream_bytes_available(ove_stream_t stream)
Query the number of bytes currently available in the stream.
int ove_stream_send(ove_stream_t stream, const void *data, size_t len, uint32_t timeout_ms, size_t *bytes_sent)
Send bytes into the stream from task context.
int ove_stream_create(ove_stream_t *stream, size_t size, size_t trigger)
Allocate and initialise a heap-backed stream.
int ove_stream_reset(ove_stream_t stream)
Discard all bytes currently held in the stream.
int ove_stream_receive_from_isr(ove_stream_t stream, void *buf, size_t len, size_t *bytes_received)
Receive bytes from the stream from an ISR.
#define OVE_ERR_NOT_SUPPORTED
The requested feature is not supported by the active backend.
Definition types.h:38
struct ove_stream * ove_stream_t
Opaque handle for a byte-stream (ring-buffer) object.
Definition types.h:106