Hardware Abstraction Layer for FreeRTOS
buffer_prv.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: MIT */
2 /*
3  * Author: Andreas Werner <kernel@andy89.org>
4  * Date: 2016
5  */
6 #ifndef BUFFER_PRV_
7 #define BUFFER_PRV_
8 #ifndef BUFFER_PRV
9 #error "Never include this file out of a Buffer driver"
10 #endif
11 #include <stdbool.h>
13 struct buffer_prv;
14 
15 struct buffer {
16  struct buffer_prv *prv;
17  struct buffer_base *base;
18  bool readOnly;
19  uint32_t irqnr;
20  uint8_t *buffer;
21 };
22 
23 struct buffer_base {
24  uint32_t magicNr;
25  uint32_t len;
26  uint32_t sizeOfEntry;
27  uint32_t size;
28 
29  uint32_t readP;
30  uint32_t writeP;
31 };
32 
33 int32_t buffer_init_prv(struct buffer *buffer);
34 int32_t buffer_wfi(struct buffer *buffer, TickType_t waittime);
35 void buffer_notify(struct buffer *buffer);
37 #endif