Zephyr Project API 4.0.0
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
mpsc_packet.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2021 Nordic Semiconductor ASA
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6#ifndef ZEPHYR_INCLUDE_SYS_MPSC_PACKET_H_
7#define ZEPHYR_INCLUDE_SYS_MPSC_PACKET_H_
8
9#include <string.h>
10#include <stdint.h>
11#include <stdbool.h>
12
13#ifdef __cplusplus
14extern "C" {
15#endif
16
25#define MPSC_PBUF_HDR_BITS 2
26
32#define MPSC_PBUF_HDR \
33 uint32_t valid: 1; \
34 uint32_t busy: 1
35
41
47
54
59#ifdef __cplusplus
60}
61#endif
62
63#endif /* ZEPHYR_INCLUDE_SYS_MPSC_PACKET_H_ */
#define MPSC_PBUF_HDR
Header that must be added to the first word in each packet.
Definition mpsc_packet.h:32
#define MPSC_PBUF_HDR_BITS
Number of bits in the first word which are used by the buffer.
Definition mpsc_packet.h:25
__UINT32_TYPE__ uint32_t
Definition stdint.h:90
Generic packet header.
Definition mpsc_packet.h:37
uint32_t data
Definition mpsc_packet.h:39
Skip packet used internally by the packet buffer.
Definition mpsc_packet.h:43
uint32_t len
Definition mpsc_packet.h:45
Generic packet header.
Definition mpsc_packet.h:49
struct mpsc_pbuf_skip skip
Definition mpsc_packet.h:51
uint32_t raw
Definition mpsc_packet.h:52
struct mpsc_pbuf_hdr hdr
Definition mpsc_packet.h:50