15#ifndef FREERTOS_RINGBUF_H
16#define FREERTOS_RINGBUF_H
24#define RINGBUF_TYPE_NOSPLIT 0
25#define RINGBUF_TYPE_BYTEBUF 2
27typedef unsigned RingbufferType_t;
28typedef void * RingbufHandle_t;
30RingbufHandle_t xRingbufferCreate(
size_t xBufferSize, RingbufferType_t xBufferType);
32void vRingbufferDelete(RingbufHandle_t xRingbuffer);
34void *xRingbufferReceiveUpTo(RingbufHandle_t xRingbuffer,
36 TickType_t xTicksToWait,
39BaseType_t xRingbufferSendFromISR(RingbufHandle_t xRingbuffer,
42 BaseType_t *pxHigherPriorityTaskWoken);
44void *xRingbufferReceiveUpToFromISR(RingbufHandle_t xRingbuffer,
45 size_t *pxItemSize,
size_t xMaxSize);
47void *xRingbufferReceiveFromISR(RingbufHandle_t xRingbuffer,
size_t *pxItemSize);
49void vRingbufferReturnItemFromISR(RingbufHandle_t xRingbuffer,
void *pvItem,
50 BaseType_t *pxHigherPriorityTaskWoken);