FreeRTOS C-Addons
1.1.0
C-Addon functionality to FreeRTOS
|
Go to the source code of this file.
Typedefs | |
typedef void * | ZeroCopyQueue_t |
Functions | |
ZeroCopyQueue_t | ZcqCreateQueue (int itemSize, int itemCount, int Alignment) |
void * | ZcqAllocateItem (ZeroCopyQueue_t zcq) |
void | ZcqFreeItem (ZeroCopyQueue_t zcq, void *item) |
int | ZcqEnqueueItem (ZeroCopyQueue_t zcq, void *item, TickType_t Timeout) |
void * | ZcqDequeueItem (ZeroCopyQueue_t zcq, TickType_t Timeout) |
typedef void* ZeroCopyQueue_t |
Handle for ZeroCopyQueues.
These queues only copy a single pointer instead of the entire data structure, which is how FreeRTOS works by default.
Definition at line 50 of file zero_copy_queue.h.
void* ZcqAllocateItem | ( | ZeroCopyQueue_t | zcq | ) |
Allocate an item to use or queue.
Note that this can block, and cannnot be used from ISR context.
zcq | A handle to a ZeroCopyQueue_t. |
Definition at line 85 of file zero_copy_queue.c.
ZeroCopyQueue_t ZcqCreateQueue | ( | int | itemSize, |
int | itemCount, | ||
int | Alignment | ||
) |
Create a Zero Copy Queue.
itemSize | Maximum size of the item. |
itemCount | What's the maximum number of items allowed? |
Alignment | Power of 2 value denoting on which address boundary the memory will be aligned to. Must be at least sizeof(unsigned char *). |
Definition at line 55 of file zero_copy_queue.c.
void* ZcqDequeueItem | ( | ZeroCopyQueue_t | zcq, |
TickType_t | Timeout | ||
) |
Dequeue an item from ZcqEnqueueItem().
zcq | A handle to a ZeroCopyQueue_t. |
Timeout | Timeout in FreeRTOS ticks. |
Definition at line 130 of file zero_copy_queue.c.
int ZcqEnqueueItem | ( | ZeroCopyQueue_t | zcq, |
void * | item, | ||
TickType_t | Timeout | ||
) |
Queue an item obtained from ZcqAllocateItem().
zcq | A handle to a ZeroCopyQueue_t. |
item | An item obtained from ZcqAllocateItem(). |
Timeout | Timeout in FreeRTOS ticks. |
Definition at line 113 of file zero_copy_queue.c.
void ZcqFreeItem | ( | ZeroCopyQueue_t | zcq, |
void * | item | ||
) |
Free a previously allocated item back into the base pool.
zcq | A handle to a ZeroCopyQueue_t. |
item | An item obtained from ZcqAllocateItem(). |
Definition at line 100 of file zero_copy_queue.c.