queue.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Macros

#define | queueSEND_TO_BACK ( ( BaseType_t ) 0 )
#define | queueSEND_TO_FRONT ( ( BaseType_t ) 1 )
#define | queueOVERWRITE ( ( BaseType_t ) 2 )
#define | queueQUEUE_TYPE_BASE ( ( uint8_t ) 0U )
#define | queueQUEUE_TYPE_SET ( ( uint8_t ) 0U )
#define | queueQUEUE_TYPE_MUTEX ( ( uint8_t ) 1U )
#define | queueQUEUE_TYPE_COUNTING_SEMAPHORE ( ( uint8_t ) 2U )
#define | queueQUEUE_TYPE_BINARY_SEMAPHORE ( ( uint8_t ) 3U )
#define | queueQUEUE_TYPE_RECURSIVE_MUTEX ( ( uint8_t ) 4U )
#define | xQueueSendToFront(xQueue, pvItemToQueue, xTicksToWait) xQueueGenericSend( ( xQueue ), ( pvItemToQueue ), ( xTicksToWait ), queueSEND_TO_FRONT )
#define | xQueueSendToBack(xQueue, pvItemToQueue, xTicksToWait) xQueueGenericSend( ( xQueue ), ( pvItemToQueue ), ( xTicksToWait ), queueSEND_TO_BACK )
#define | xQueueSend(xQueue, pvItemToQueue, xTicksToWait) xQueueGenericSend( ( xQueue ), ( pvItemToQueue ), ( xTicksToWait ), queueSEND_TO_BACK )
#define | xQueueOverwrite(xQueue, pvItemToQueue) xQueueGenericSend( ( xQueue ), ( pvItemToQueue ), 0, queueOVERWRITE )
#define | xQueueSendToFrontFromISR(xQueue, pvItemToQueue, pxHigherPriorityTaskWoken) xQueueGenericSendFromISR( ( xQueue ), ( pvItemToQueue ), ( pxHigherPriorityTaskWoken ), queueSEND_TO_FRONT )
#define | xQueueSendToBackFromISR(xQueue, pvItemToQueue, pxHigherPriorityTaskWoken) xQueueGenericSendFromISR( ( xQueue ), ( pvItemToQueue ), ( pxHigherPriorityTaskWoken ), queueSEND_TO_BACK )
#define | xQueueOverwriteFromISR(xQueue, pvItemToQueue, pxHigherPriorityTaskWoken) xQueueGenericSendFromISR( ( xQueue ), ( pvItemToQueue ), ( pxHigherPriorityTaskWoken ), queueOVERWRITE )
#define | xQueueSendFromISR(xQueue, pvItemToQueue, pxHigherPriorityTaskWoken) xQueueGenericSendFromISR( ( xQueue ), ( pvItemToQueue ), ( pxHigherPriorityTaskWoken ), queueSEND_TO_BACK )
#define | xQueueReset(xQueue) xQueueGenericReset( xQueue, pdFALSE )

## Typedefs

typedef void * | QueueHandle_t
typedef void * | QueueSetHandle_t
typedef void * | QueueSetMemberHandle_t

## Functions

BaseType_t | xQueueGenericSend (QueueHandle_t xQueue, const void *const pvItemToQueue, TickType_t xTicksToWait, const BaseType_t xCopyPosition) PRIVILEGED_FUNCTION
BaseType_t | xQueuePeek (QueueHandle_t xQueue, void *const pvBuffer, TickType_t xTicksToWait) PRIVILEGED_FUNCTION
BaseType_t | xQueuePeekFromISR (QueueHandle_t xQueue, void *const pvBuffer) PRIVILEGED_FUNCTION
BaseType_t | xQueueReceive (QueueHandle_t xQueue, void *const pvBuffer, TickType_t xTicksToWait) PRIVILEGED_FUNCTION
UBaseType_t | uxQueueMessagesWaiting (const QueueHandle_t xQueue) PRIVILEGED_FUNCTION
UBaseType_t | uxQueueSpacesAvailable (const QueueHandle_t xQueue) PRIVILEGED_FUNCTION
void | vQueueDelete (QueueHandle_t xQueue) PRIVILEGED_FUNCTION
BaseType_t | xQueueGenericSendFromISR (QueueHandle_t xQueue, const void *const pvItemToQueue, BaseType_t *const pxHigherPriorityTaskWoken, const BaseType_t xCopyPosition) PRIVILEGED_FUNCTION
BaseType_t | xQueueGiveFromISR (QueueHandle_t xQueue, BaseType_t *const pxHigherPriorityTaskWoken) PRIVILEGED_FUNCTION
BaseType_t | xQueueReceiveFromISR (QueueHandle_t xQueue, void *const pvBuffer, BaseType_t *const pxHigherPriorityTaskWoken) PRIVILEGED_FUNCTION
BaseType_t | xQueueIsQueueEmptyFromISR (const QueueHandle_t xQueue) PRIVILEGED_FUNCTION
BaseType_t | xQueueIsQueueFullFromISR (const QueueHandle_t xQueue) PRIVILEGED_FUNCTION
UBaseType_t | uxQueueMessagesWaitingFromISR (const QueueHandle_t xQueue) PRIVILEGED_FUNCTION
BaseType_t | xQueueCRSendFromISR (QueueHandle_t xQueue, const void *pvItemToQueue, BaseType_t xCoRoutinePreviouslyWoken)
BaseType_t | xQueueCRReceiveFromISR (QueueHandle_t xQueue, void *pvBuffer, BaseType_t *pxTaskWoken)
BaseType_t | xQueueCRSend (QueueHandle_t xQueue, const void *pvItemToQueue, TickType_t xTicksToWait)
BaseType_t | xQueueCRReceive (QueueHandle_t xQueue, void *pvBuffer, TickType_t xTicksToWait)
QueueHandle_t | xQueueCreateMutex (const uint8_t ucQueueType) PRIVILEGED_FUNCTION
QueueHandle_t | xQueueCreateMutexStatic (const uint8_t ucQueueType, StaticQueue_t *pxStaticQueue) PRIVILEGED_FUNCTION
QueueHandle_t | xQueueCreateCountingSemaphore (const UBaseType_t uxMaxCount, const UBaseType_t uxInitialCount) PRIVILEGED_FUNCTION
QueueHandle_t | xQueueCreateCountingSemaphoreStatic (const UBaseType_t uxMaxCount, const UBaseType_t uxInitialCount, StaticQueue_t *pxStaticQueue) PRIVILEGED_FUNCTION
BaseType_t | xQueueSemaphoreTake (QueueHandle_t xQueue, TickType_t xTicksToWait) PRIVILEGED_FUNCTION
void * | xQueueGetMutexHolder (QueueHandle_t xSemaphore) PRIVILEGED_FUNCTION
void * | xQueueGetMutexHolderFromISR (QueueHandle_t xSemaphore) PRIVILEGED_FUNCTION
BaseType_t | xQueueTakeMutexRecursive (QueueHandle_t xMutex, TickType_t xTicksToWait) PRIVILEGED_FUNCTION
BaseType_t | xQueueGiveMutexRecursive (QueueHandle_t pxMutex) PRIVILEGED_FUNCTION
QueueSetHandle_t | xQueueCreateSet (const UBaseType_t uxEventQueueLength) PRIVILEGED_FUNCTION
BaseType_t | xQueueAddToSet (QueueSetMemberHandle_t xQueueOrSemaphore, QueueSetHandle_t xQueueSet) PRIVILEGED_FUNCTION
BaseType_t | xQueueRemoveFromSet (QueueSetMemberHandle_t xQueueOrSemaphore, QueueSetHandle_t xQueueSet) PRIVILEGED_FUNCTION
QueueSetMemberHandle_t | xQueueSelectFromSet (QueueSetHandle_t xQueueSet, const TickType_t xTicksToWait) PRIVILEGED_FUNCTION
QueueSetMemberHandle_t | xQueueSelectFromSetFromISR (QueueSetHandle_t xQueueSet) PRIVILEGED_FUNCTION
void | vQueueWaitForMessageRestricted (QueueHandle_t xQueue, TickType_t xTicksToWait, const BaseType_t xWaitIndefinitely) PRIVILEGED_FUNCTION
BaseType_t | xQueueGenericReset (QueueHandle_t xQueue, BaseType_t xNewQueue) PRIVILEGED_FUNCTION
void | vQueueSetQueueNumber (QueueHandle_t xQueue, UBaseType_t uxQueueNumber) PRIVILEGED_FUNCTION
UBaseType_t | uxQueueGetQueueNumber (QueueHandle_t xQueue) PRIVILEGED_FUNCTION
uint8_t | ucQueueGetQueueType (QueueHandle_t xQueue) PRIVILEGED_FUNCTION

## Macro Definition Documentation

## queueOVERWRITE

#define queueOVERWRITE ( ( BaseType_t ) 2 )

## queueQUEUE_TYPE_BASE

#define queueQUEUE_TYPE_BASE ( ( uint8_t ) 0U )

## queueQUEUE_TYPE_BINARY_SEMAPHORE

#define queueQUEUE_TYPE_BINARY_SEMAPHORE ( ( uint8_t ) 3U )

## queueQUEUE_TYPE_COUNTING_SEMAPHORE

#define queueQUEUE_TYPE_COUNTING_SEMAPHORE ( ( uint8_t ) 2U )

## queueQUEUE_TYPE_MUTEX

#define queueQUEUE_TYPE_MUTEX ( ( uint8_t ) 1U )

## queueQUEUE_TYPE_RECURSIVE_MUTEX

#define queueQUEUE_TYPE_RECURSIVE_MUTEX ( ( uint8_t ) 4U )

## queueQUEUE_TYPE_SET

#define queueQUEUE_TYPE_SET ( ( uint8_t ) 0U )

## queueSEND_TO_BACK

#define queueSEND_TO_BACK ( ( BaseType_t ) 0 )

## queueSEND_TO_FRONT

#define queueSEND_TO_FRONT ( ( BaseType_t ) 1 )

## xQueueOverwrite

#define xQueueOverwrite | ( |  | xQueue,
|  |  | pvItemToQueue
| ) |  | xQueueGenericSend( ( xQueue ), ( pvItemToQueue ), 0, queueOVERWRITE )

## xQueueOverwriteFromISR

#define xQueueOverwriteFromISR | ( |  | xQueue,
|  |  | pvItemToQueue,
|  |  | pxHigherPriorityTaskWoken
| ) |  | xQueueGenericSendFromISR( ( xQueue ), ( pvItemToQueue ), ( pxHigherPriorityTaskWoken ), queueOVERWRITE )

## xQueueReset

#define xQueueReset | ( |  | xQueue | ) | xQueueGenericReset( xQueue, pdFALSE )

## xQueueSend

#define xQueueSend | ( |  | xQueue,
|  |  | pvItemToQueue,
|  |  | xTicksToWait
| ) |  | xQueueGenericSend( ( xQueue ), ( pvItemToQueue ), ( xTicksToWait ), queueSEND_TO_BACK )

## xQueueSendFromISR

#define xQueueSendFromISR | ( |  | xQueue,
|  |  | pvItemToQueue,
|  |  | pxHigherPriorityTaskWoken
| ) |  | xQueueGenericSendFromISR( ( xQueue ), ( pvItemToQueue ), ( pxHigherPriorityTaskWoken ), queueSEND_TO_BACK )

## xQueueSendToBack

#define xQueueSendToBack | ( |  | xQueue,
|  |  | pvItemToQueue,
|  |  | xTicksToWait
| ) |  | xQueueGenericSend( ( xQueue ), ( pvItemToQueue ), ( xTicksToWait ), queueSEND_TO_BACK )

## xQueueSendToBackFromISR

#define xQueueSendToBackFromISR | ( |  | xQueue,
|  |  | pvItemToQueue,
|  |  | pxHigherPriorityTaskWoken
| ) |  | xQueueGenericSendFromISR( ( xQueue ), ( pvItemToQueue ), ( pxHigherPriorityTaskWoken ), queueSEND_TO_BACK )

## xQueueSendToFront

#define xQueueSendToFront | ( |  | xQueue,
|  |  | pvItemToQueue,
|  |  | xTicksToWait
| ) |  | xQueueGenericSend( ( xQueue ), ( pvItemToQueue ), ( xTicksToWait ), queueSEND_TO_FRONT )

## xQueueSendToFrontFromISR

#define xQueueSendToFrontFromISR | ( |  | xQueue,
|  |  | pvItemToQueue,
|  |  | pxHigherPriorityTaskWoken
| ) |  | xQueueGenericSendFromISR( ( xQueue ), ( pvItemToQueue ), ( pxHigherPriorityTaskWoken ), queueSEND_TO_FRONT )

## Typedef Documentation

## QueueHandle_t

typedef void* QueueHandle_t

Type by which queues are referenced. For example, a call to xQueueCreate() returns an QueueHandle_t variable that can then be used as a parameter to xQueueSend(), xQueueReceive(), etc.

## QueueSetHandle_t

typedef void* QueueSetHandle_t

Type by which queue sets are referenced. For example, a call to xQueueCreateSet() returns an xQueueSet variable that can then be used as a parameter to xQueueSelectFromSet(), xQueueAddToSet(), etc.

## QueueSetMemberHandle_t

typedef void* QueueSetMemberHandle_t

Queue sets can contain both queues and semaphores, so the QueueSetMemberHandle_t is defined as a type to be used where a parameter or return value can be either an QueueHandle_t or an SemaphoreHandle_t.

## Function Documentation

## ucQueueGetQueueType()

uint8_t ucQueueGetQueueType | ( | QueueHandle_t | xQueue | ) |

## uxQueueGetQueueNumber()

UBaseType_t uxQueueGetQueueNumber | ( | QueueHandle_t | xQueue | ) |

## uxQueueMessagesWaiting()

UBaseType_t uxQueueMessagesWaiting | ( | const QueueHandle_t | xQueue | ) |

## uxQueueMessagesWaitingFromISR()

UBaseType_t uxQueueMessagesWaitingFromISR | ( | const QueueHandle_t | xQueue | ) |

## uxQueueSpacesAvailable()

UBaseType_t uxQueueSpacesAvailable | ( | const QueueHandle_t | xQueue | ) |

## vQueueDelete()

void vQueueDelete | ( | QueueHandle_t | xQueue | ) |

Here is the call graph for this function:

## vQueueSetQueueNumber()

void vQueueSetQueueNumber | ( | QueueHandle_t | xQueue,
|  | UBaseType_t | uxQueueNumber
| ) |  |

## vQueueWaitForMessageRestricted()

void vQueueWaitForMessageRestricted | ( | QueueHandle_t | xQueue,
|  | TickType_t | xTicksToWait,
|  | const BaseType_t | xWaitIndefinitely
| ) |  |

## xQueueAddToSet()

BaseType_t xQueueAddToSet | ( | QueueSetMemberHandle_t | xQueueOrSemaphore,
|  | QueueSetHandle_t | xQueueSet
| ) |  |

## xQueueCreateCountingSemaphore()

QueueHandle_t xQueueCreateCountingSemaphore | ( | const UBaseType_t | uxMaxCount,
|  | const UBaseType_t | uxInitialCount
| ) |  |

## xQueueCreateCountingSemaphoreStatic()

QueueHandle_t xQueueCreateCountingSemaphoreStatic | ( | const UBaseType_t | uxMaxCount,
|  | const UBaseType_t | uxInitialCount,
|  | StaticQueue_t * | pxStaticQueue
| ) |  |

## xQueueCreateMutex()

QueueHandle_t xQueueCreateMutex | ( | const uint8_t | ucQueueType | ) |

## xQueueCreateMutexStatic()

QueueHandle_t xQueueCreateMutexStatic | ( | const uint8_t | ucQueueType,
|  | StaticQueue_t * | pxStaticQueue
| ) |  |

## xQueueCreateSet()

QueueSetHandle_t xQueueCreateSet | ( | const UBaseType_t | uxEventQueueLength | ) |

## xQueueCRReceive()

BaseType_t xQueueCRReceive | ( | QueueHandle_t | xQueue,
|  | void * | pvBuffer,
|  | TickType_t | xTicksToWait
| ) |  |

## xQueueCRReceiveFromISR()

BaseType_t xQueueCRReceiveFromISR | ( | QueueHandle_t | xQueue,
|  | void * | pvBuffer,
|  | BaseType_t * | pxTaskWoken
| ) |  |

## xQueueCRSend()

BaseType_t xQueueCRSend | ( | QueueHandle_t | xQueue,
|  | const void * | pvItemToQueue,
|  | TickType_t | xTicksToWait
| ) |  |

## xQueueCRSendFromISR()

BaseType_t xQueueCRSendFromISR | ( | QueueHandle_t | xQueue,
|  | const void * | pvItemToQueue,
|  | BaseType_t | xCoRoutinePreviouslyWoken
| ) |  |

## xQueueGenericReset()

BaseType_t xQueueGenericReset | ( | QueueHandle_t | xQueue,
|  | BaseType_t | xNewQueue
| ) |  |

Here is the call graph for this function:
Here is the caller graph for this function:

## xQueueGenericSend()

BaseType_t xQueueGenericSend | ( | QueueHandle_t | xQueue,
|  | const void *const | pvItemToQueue,
|  | TickType_t | xTicksToWait,
|  | const BaseType_t | xCopyPosition
| ) |  |

Here is the call graph for this function:

## xQueueGenericSendFromISR()

BaseType_t xQueueGenericSendFromISR | ( | QueueHandle_t | xQueue,
|  | const void *const | pvItemToQueue,
|  | BaseType_t *const | pxHigherPriorityTaskWoken,
|  | const BaseType_t | xCopyPosition
| ) |  |

Here is the call graph for this function:

## xQueueGetMutexHolder()

void* xQueueGetMutexHolder | ( | QueueHandle_t | xSemaphore | ) |

## xQueueGetMutexHolderFromISR()

void* xQueueGetMutexHolderFromISR | ( | QueueHandle_t | xSemaphore | ) |

## xQueueGiveFromISR()

BaseType_t xQueueGiveFromISR | ( | QueueHandle_t | xQueue,
|  | BaseType_t *const | pxHigherPriorityTaskWoken
| ) |  |

Here is the call graph for this function:

## xQueueGiveMutexRecursive()

BaseType_t xQueueGiveMutexRecursive | ( | QueueHandle_t | pxMutex | ) |

## xQueueIsQueueEmptyFromISR()

BaseType_t xQueueIsQueueEmptyFromISR | ( | const QueueHandle_t | xQueue | ) |

## xQueueIsQueueFullFromISR()

BaseType_t xQueueIsQueueFullFromISR | ( | const QueueHandle_t | xQueue | ) |

## xQueuePeek()

BaseType_t xQueuePeek | ( | QueueHandle_t | xQueue,
|  | void *const | pvBuffer,
|  | TickType_t | xTicksToWait
| ) |  |

Here is the call graph for this function:

## xQueuePeekFromISR()

BaseType_t xQueuePeekFromISR | ( | QueueHandle_t | xQueue,
|  | void *const | pvBuffer
| ) |  |

Here is the call graph for this function:

## xQueueReceive()

BaseType_t xQueueReceive | ( | QueueHandle_t | xQueue,
|  | void *const | pvBuffer,
|  | TickType_t | xTicksToWait
| ) |  |

Here is the call graph for this function:
Here is the caller graph for this function:

## xQueueReceiveFromISR()

BaseType_t xQueueReceiveFromISR | ( | QueueHandle_t | xQueue,
|  | void *const | pvBuffer,
|  | BaseType_t *const | pxHigherPriorityTaskWoken
| ) |  |

Here is the call graph for this function:

## xQueueRemoveFromSet()

BaseType_t xQueueRemoveFromSet | ( | QueueSetMemberHandle_t | xQueueOrSemaphore,
|  | QueueSetHandle_t | xQueueSet
| ) |  |

## xQueueSelectFromSet()

QueueSetMemberHandle_t xQueueSelectFromSet | ( | QueueSetHandle_t | xQueueSet,
|  | const TickType_t | xTicksToWait
| ) |  |

## xQueueSelectFromSetFromISR()

QueueSetMemberHandle_t xQueueSelectFromSetFromISR | ( | QueueSetHandle_t | xQueueSet | ) |

## xQueueSemaphoreTake()

BaseType_t xQueueSemaphoreTake | ( | QueueHandle_t | xQueue,
|  | TickType_t | xTicksToWait
| ) |  |

Here is the call graph for this function:

## xQueueTakeMutexRecursive()

BaseType_t xQueueTakeMutexRecursive | ( | QueueHandle_t | xMutex,
|  | TickType_t | xTicksToWait
| ) |  |