|
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.
1.8.13