Hardware Abstraction Layer for FreeRTOS
buffer.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 SHARED_H_
7 #define SHARED_H_
8 #include <FreeRTOS.h>
9 #include <stdint.h>
10 #include <stdbool.h>
24 #define SHARED_MAGIC 0x42424343
25 
28 struct buffer_base;
32 struct buffer;
36 #define BUFFER_OPERATION_NOT_SUPPORTED -1
37 
40 #define BUFFER_NO_SPACE_LEFT -2
41 
44 #define BUFFER_EINVAL -3
45 
54 struct buffer *buffer_init(struct buffer_base *base, uint32_t len, uint32_t sizeOfEntry, bool readOnly, uint32_t irqnr);
60 int32_t buffer_deinit(struct buffer *buffer);
66 int32_t buffer_is_full(struct buffer *buffer);
72 bool buffer_empty(struct buffer *buffer);
80 int32_t buffer_write(struct buffer *buffer, uint8_t *data, int32_t size);
89 int32_t buffer_read(struct buffer *buffer, uint8_t *data, int32_t size, TickType_t waittime);
91 #endif
buffer_write
int32_t buffer_write(struct buffer *buffer, uint8_t *data, int32_t size)
buffer_empty
bool buffer_empty(struct buffer *buffer)
buffer_init
struct buffer * buffer_init(struct buffer_base *base, uint32_t len, uint32_t sizeOfEntry, bool readOnly, uint32_t irqnr)
buffer_deinit
int32_t buffer_deinit(struct buffer *buffer)
buffer_is_full
int32_t buffer_is_full(struct buffer *buffer)
buffer_read
int32_t buffer_read(struct buffer *buffer, uint8_t *data, int32_t size, TickType_t waittime)