zephyr/include/sys
Krzysztof Chruscinski 3a765f4384 lib: os: Add mpsc (multiple producer, single consumer) packet buffer
Added module for storing variable length packets in a ring buffer.
Implementation assumes multiple producing contexts and single consumer.

API provides zero copy functionality with alloc, commit, claim, free
scheme.

Additionally, there are functions optimized for storing single word
packets and packets consisting of a word and a pointer. Buffer can work
in two modes: saturation or overwriting the oldest packets when buffer
has no space to allocate for a new buffer.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2021-04-19 10:59:23 -04:00
..
__assert.h
arch_interface.h kernel: remove arch_mem_domain_destroy 2021-03-18 16:30:47 +01:00
atomic_builtin.h kernel: atomic: consistently use named type for atomic pointer values 2021-04-19 15:22:13 +02:00
atomic_c.h kernel: atomic: consistently use named type for atomic pointer values 2021-04-19 15:22:13 +02:00
atomic.h kernel: atomic: consistently use named type for atomic pointer values 2021-04-19 15:22:13 +02:00
base64.h
byteorder.h
cbprintf_internal.h lib: os: cbprintf: Fix legth field in static package 2021-03-29 14:08:41 +02:00
cbprintf.h lib: os: cbprintf: Add alignment offset to packaging 2021-03-29 14:08:41 +02:00
check.h
crc.h lib: os: Introduce support for CRC32C algorithm 2021-03-02 14:08:30 +01:00
device_mmio.h mmu: rename z_mem_map to z_phys_map 2020-12-16 08:55:55 -05:00
dlist.h doc: strcutures: use doxygen to reference functions 2021-04-15 14:04:05 -04:00
errno_private.h kernel: support using thread local storage for errno 2020-10-24 10:52:00 -07:00
fdtable.h net: socket: Add locking to prevent concurrent access 2021-04-15 07:16:51 -05:00
kobject.h kernel: userspace: aligned memory allocation for dynamic objects 2021-01-13 09:43:55 -08:00
libc-hooks.h arm: cortex_m: add support for thread local storage 2020-10-24 10:52:00 -07:00
list_gen.h
math_extras_impl.h
math_extras.h
mem_manage.h kernel: mmu: demand paging execution time histogram 2021-04-06 16:43:55 -04:00
mpsc_packet.h lib: os: Add mpsc (multiple producer, single consumer) packet buffer 2021-04-19 10:59:23 -04:00
mpsc_pbuf.h lib: os: Add mpsc (multiple producer, single consumer) packet buffer 2021-04-19 10:59:23 -04:00
mutex.h docs: Add missing retval for sys_mutex_unlock() 2021-03-10 05:42:06 -05:00
notify.h code-guideline: Fixing code violation 10.4 Rule 2020-10-01 17:13:29 -04:00
onoff.h code-guideline: Fixing code violation 10.4 Rule 2020-10-01 17:13:29 -04:00
p4wq.h lib/os: P4 Work Queue: Pooled Parallel Preemptible Priority-based 2021-01-15 11:35:50 -05:00
printk.h lib/os: replace z_vprintk with cbprintf 2020-11-13 06:38:01 -05:00
rb.h doc: group data structure docs and add doxygen linkage 2021-04-15 14:04:05 -04:00
ring_buffer.h doc: group data structure docs and add doxygen linkage 2021-04-15 14:04:05 -04:00
sem.h
sflist.h doc: group data structure docs and add doxygen linkage 2021-04-15 14:04:05 -04:00
slist.h doc: group data structure docs and add doxygen linkage 2021-04-15 14:04:05 -04:00
speculation.h
sys_heap.h kernel/arch: cleanup function definitions 2021-04-01 05:34:17 -04:00
sys_io.h sys_io: Expand the API to 64bits read/write functions 2020-12-08 09:29:20 -05:00
thread_stack.h kernel/include: Put kernel stack memory in the right memory 2021-02-11 14:47:40 -05:00
time_units.h clock: rename z_clock_hw_cycles_per_sec_runtime_get 2021-03-19 11:22:17 -04:00
timeutil.h doc: add a section for timeutil APIs 2021-01-20 16:38:56 -05:00
util_internal.h sys: util: Update implementation of loop macros 2021-02-28 16:46:44 -05:00
util_loops.h sys: util: Update implementation of loop macros 2021-02-28 16:46:44 -05:00
util_macro.h sys: util: Update implementation of loop macros 2021-02-28 16:46:44 -05:00
util.h sys: util: add BIT64_MASK 2020-11-13 06:38:01 -05:00