Zephyr API Documentation  3.7.0
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
sys_winstream Struct Reference

Lockless shared memory byte stream IPC. More...

#include <winstream.h>

Data Fields

uint32_t len
 
uint32_t start
 
uint32_t end
 
uint32_t seq
 
uint8_t data []
 

Detailed Description

Lockless shared memory byte stream IPC.

The sys_winstream utility implements a unidirectional byte stream with simple read/write semantics on top of a memory region shared by the writer and reader. It requires no locking or synchronization mechanisms beyond reliable ordering of memory operations, and so is a good fit for use with heterogeneous shared memory environments (for example, where Zephyr needs to talk to other CPUs in the system running their own software).

This object does not keep track of the last sequence number read: the reader must keep that state and provide it on every read operation. After reaching "steady state", 'end' and 'start' are one byte apart because the buffer is always full.

Field Documentation

◆ data

uint8_t sys_winstream::data[]

◆ end

uint32_t sys_winstream::end

◆ len

uint32_t sys_winstream::len

◆ seq

uint32_t sys_winstream::seq

◆ start

uint32_t sys_winstream::start

The documentation for this struct was generated from the following file: