35 #define MPU_WRAPPERS_INCLUDED_FROM_API_FILE 41 #if ( configUSE_CO_ROUTINES == 1 ) 49 #undef MPU_WRAPPERS_INCLUDED_FROM_API_FILE 53 #define queueUNLOCKED ( ( int8_t ) -1 ) 54 #define queueLOCKED_UNMODIFIED ( ( int8_t ) 0 ) 67 #define pxMutexHolder pcTail 68 #define uxQueueType pcHead 69 #define queueQUEUE_IS_MUTEX NULL 73 #define queueSEMAPHORE_QUEUE_ITEM_LENGTH ( ( UBaseType_t ) 0 ) 74 #define queueMUTEX_GIVE_BLOCK_TIME ( ( TickType_t ) 0U ) 76 #if( configUSE_PREEMPTION == 0 ) 79 #define queueYIELD_IF_USING_PREEMPTION() 81 #define queueYIELD_IF_USING_PREEMPTION() portYIELD_WITHIN_API() 111 #if( ( configSUPPORT_STATIC_ALLOCATION == 1 ) && ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) ) 112 uint8_t ucStaticallyAllocated;
115 #if ( configUSE_QUEUE_SETS == 1 ) 119 #if ( configUSE_TRACE_FACILITY == 1 ) 136 #if ( configQUEUE_REGISTRY_SIZE > 0 ) 141 typedef struct QUEUE_REGISTRY_ITEM
143 const char *pcQueueName;
145 } xQueueRegistryItem;
150 typedef xQueueRegistryItem QueueRegistryItem_t;
194 #if ( configUSE_QUEUE_SETS == 1 ) 213 #if( configUSE_MUTEXES == 1 ) 217 #if( configUSE_MUTEXES == 1 ) 233 #define prvLockQueue( pxQueue ) \ 234 taskENTER_CRITICAL(); \ 236 if( ( pxQueue )->cRxLock == queueUNLOCKED ) \ 238 ( pxQueue )->cRxLock = queueLOCKED_UNMODIFIED; \ 240 if( ( pxQueue )->cTxLock == queueUNLOCKED ) \ 242 ( pxQueue )->cTxLock = queueLOCKED_UNMODIFIED; \ 301 #if( configSUPPORT_STATIC_ALLOCATION == 1 ) 318 #if( configASSERT_DEFINED == 1 ) 331 pxNewQueue = (
Queue_t * ) pxStaticQueue;
333 if( pxNewQueue !=
NULL )
335 #if( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) 340 pxNewQueue->ucStaticallyAllocated =
pdTRUE;
357 #if( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) 362 size_t xQueueSizeInBytes;
363 uint8_t *pucQueueStorage;
370 xQueueSizeInBytes = ( size_t ) 0;
376 xQueueSizeInBytes = ( size_t ) ( uxQueueLength *
uxItemSize );
381 if( pxNewQueue !=
NULL )
385 pucQueueStorage = ( ( uint8_t * ) pxNewQueue ) +
sizeof(
Queue_t );
387 #if( configSUPPORT_STATIC_ALLOCATION == 1 ) 392 pxNewQueue->ucStaticallyAllocated =
pdFALSE;
413 ( void ) ucQueueType;
421 pxNewQueue->
pcHead = ( int8_t * ) pxNewQueue;
426 pxNewQueue->
pcHead = ( int8_t * ) pucQueueStorage;
431 pxNewQueue->
uxLength = uxQueueLength;
435 #if ( configUSE_TRACE_FACILITY == 1 ) 437 pxNewQueue->ucQueueType = ucQueueType;
441 #if( configUSE_QUEUE_SETS == 1 ) 443 pxNewQueue->pxQueueSetContainer =
NULL;
451 #if( configUSE_MUTEXES == 1 ) 453 static void prvInitialiseMutex(
Queue_t *pxNewQueue )
455 if( pxNewQueue !=
NULL )
461 pxNewQueue->pxMutexHolder =
NULL;
481 #if( ( configUSE_MUTEXES == 1 ) && ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) ) 488 pxNewQueue = (
Queue_t * ) xQueueGenericCreate( uxMutexLength, uxMutexSize, ucQueueType );
489 prvInitialiseMutex( pxNewQueue );
497 #if( ( configUSE_MUTEXES == 1 ) && ( configSUPPORT_STATIC_ALLOCATION == 1 ) ) 506 ( void ) ucQueueType;
508 pxNewQueue = (
Queue_t * ) xQueueGenericCreateStatic( uxMutexLength, uxMutexSize,
NULL, pxStaticQueue, ucQueueType );
509 prvInitialiseMutex( pxNewQueue );
517 #if ( ( configUSE_MUTEXES == 1 ) && ( INCLUDE_xSemaphoreGetMutexHolder == 1 ) ) 547 #if ( ( configUSE_MUTEXES == 1 ) && ( INCLUDE_xSemaphoreGetMutexHolder == 1 ) ) 573 #if ( configUSE_RECURSIVE_MUTEXES == 1 ) 628 #if ( configUSE_RECURSIVE_MUTEXES == 1 ) 670 #if( ( configUSE_COUNTING_SEMAPHORES == 1 ) && ( configSUPPORT_STATIC_ALLOCATION == 1 ) ) 681 if( xHandle !=
NULL )
683 ( (
Queue_t * ) xHandle )->uxMessagesWaiting = uxInitialCount;
698 #if( ( configUSE_COUNTING_SEMAPHORES == 1 ) && ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) ) 709 if( xHandle !=
NULL )
711 ( (
Queue_t * ) xHandle )->uxMessagesWaiting = uxInitialCount;
735 #if ( ( INCLUDE_xTaskGetSchedulerState == 1 ) || ( configUSE_TIMERS == 1 ) ) 758 #if ( configUSE_QUEUE_SETS == 1 ) 760 if( pxQueue->pxQueueSetContainer !=
NULL )
762 if( prvNotifyQueueSetContainer( pxQueue, xCopyPosition ) !=
pdFALSE )
793 else if( xYieldRequired !=
pdFALSE )
826 else if( xYieldRequired !=
pdFALSE )
857 else if( xEntryTimeSet ==
pdFALSE )
974 #if ( configUSE_QUEUE_SETS == 1 ) 976 if( pxQueue->pxQueueSetContainer !=
NULL )
978 if( prvNotifyQueueSetContainer( pxQueue, xCopyPosition ) !=
pdFALSE )
983 if( pxHigherPriorityTaskWoken !=
NULL )
985 *pxHigherPriorityTaskWoken =
pdTRUE;
1005 if( pxHigherPriorityTaskWoken !=
NULL )
1007 *pxHigherPriorityTaskWoken =
pdTRUE;
1033 if( pxHigherPriorityTaskWoken !=
NULL )
1035 *pxHigherPriorityTaskWoken =
pdTRUE;
1058 pxQueue->
cTxLock = ( int8_t ) ( cTxLock + 1 );
1121 if( uxMessagesWaiting < pxQueue->
uxLength )
1139 #if ( configUSE_QUEUE_SETS == 1 ) 1141 if( pxQueue->pxQueueSetContainer !=
NULL )
1148 if( pxHigherPriorityTaskWoken !=
NULL )
1150 *pxHigherPriorityTaskWoken =
pdTRUE;
1170 if( pxHigherPriorityTaskWoken !=
NULL )
1172 *pxHigherPriorityTaskWoken =
pdTRUE;
1198 if( pxHigherPriorityTaskWoken !=
NULL )
1200 *pxHigherPriorityTaskWoken =
pdTRUE;
1223 pxQueue->
cTxLock = ( int8_t ) ( cTxLock + 1 );
1254 #if ( ( INCLUDE_xTaskGetSchedulerState == 1 ) || ( configUSE_TIMERS == 1 ) ) 1312 else if( xEntryTimeSet ==
pdFALSE )
1388 #if( configUSE_MUTEXES == 1 ) 1400 #if ( ( INCLUDE_xTaskGetSchedulerState == 1 ) || ( configUSE_TIMERS == 1 ) ) 1429 #if ( configUSE_MUTEXES == 1 ) 1472 #if( configUSE_MUTEXES == 1 ) 1484 else if( xEntryTimeSet ==
pdFALSE )
1517 #if ( configUSE_MUTEXES == 1 ) 1565 #if ( configUSE_MUTEXES == 1 ) 1570 if( xInheritanceOccurred !=
pdFALSE )
1581 uxHighestWaitingPriority = prvGetDisinheritPriorityAfterTimeout( pxQueue );
1605 int8_t *pcOriginalReadPosition;
1616 #if ( ( INCLUDE_xTaskGetSchedulerState == 1 ) || ( configUSE_TIMERS == 1 ) ) 1680 else if( xEntryTimeSet ==
pdFALSE )
1802 if( pxHigherPriorityTaskWoken !=
NULL )
1804 *pxHigherPriorityTaskWoken =
pdTRUE;
1825 pxQueue->
cRxLock = ( int8_t ) ( cRxLock + 1 );
1846 int8_t *pcOriginalReadPosition;
1904 uxReturn = ( (
Queue_t * ) xQueue )->uxMessagesWaiting;
1917 pxQueue = (
Queue_t * ) xQueue;
1936 uxReturn = ( (
Queue_t * ) xQueue )->uxMessagesWaiting;
1949 #if ( configQUEUE_REGISTRY_SIZE > 0 ) 1955 #if( ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) && ( configSUPPORT_STATIC_ALLOCATION == 0 ) ) 1961 #elif( ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) && ( configSUPPORT_STATIC_ALLOCATION == 1 ) ) 1965 if( pxQueue->ucStaticallyAllocated == ( uint8_t )
pdFALSE )
1984 #if ( configUSE_TRACE_FACILITY == 1 ) 1988 return ( (
Queue_t * ) xQueue )->uxQueueNumber;
1994 #if ( configUSE_TRACE_FACILITY == 1 ) 1998 ( (
Queue_t * ) xQueue )->uxQueueNumber = uxQueueNumber;
2004 #if ( configUSE_TRACE_FACILITY == 1 ) 2008 return ( (
Queue_t * ) xQueue )->ucQueueType;
2014 #if( configUSE_MUTEXES == 1 ) 2016 static UBaseType_t prvGetDisinheritPriorityAfterTimeout(
const Queue_t *
const pxQueue )
2035 return uxHighestPriorityOfWaitingTasks;
2052 #if ( configUSE_MUTEXES == 1 ) 2058 pxQueue->pxMutexHolder =
NULL;
2069 ( void ) memcpy( (
void * ) pxQueue->
pcWriteTo, pvItemToQueue, ( size_t ) pxQueue->
uxItemSize );
2133 ( void ) memcpy( (
void * ) pvBuffer, (
void * ) pxQueue->
u.
pcReadFrom, (
size_t ) pxQueue->
uxItemSize );
2155 #if ( configUSE_QUEUE_SETS == 1 ) 2157 if( pxQueue->pxQueueSetContainer !=
NULL )
2336 #if ( configUSE_CO_ROUTINES == 1 ) 2413 #if ( configUSE_CO_ROUTINES == 1 ) 2465 ( void ) memcpy( (
void * ) pvBuffer, (
void * ) pxQueue->
u.
pcReadFrom, (
unsigned ) pxQueue->
uxItemSize );
2503 #if ( configUSE_CO_ROUTINES == 1 ) 2517 if( xCoRoutinePreviouslyWoken ==
pdFALSE )
2545 return xCoRoutinePreviouslyWoken;
2551 #if ( configUSE_CO_ROUTINES == 1 ) 2573 ( void ) memcpy( (
void * ) pvBuffer, (
void * ) pxQueue->
u.
pcReadFrom, (
unsigned ) pxQueue->
uxItemSize );
2575 if( ( *pxCoRoutineWoken ) ==
pdFALSE )
2581 *pxCoRoutineWoken =
pdTRUE;
2611 #if ( configQUEUE_REGISTRY_SIZE > 0 ) 2621 if( xQueueRegistry[ ux ].pcQueueName ==
NULL )
2624 xQueueRegistry[ ux ].pcQueueName = pcQueueName;
2625 xQueueRegistry[ ux ].xHandle = xQueue;
2640 #if ( configQUEUE_REGISTRY_SIZE > 0 ) 2645 const char *pcReturn =
NULL;
2651 if( xQueueRegistry[ ux ].xHandle == xQueue )
2653 pcReturn = xQueueRegistry[ ux ].pcQueueName;
2668 #if ( configQUEUE_REGISTRY_SIZE > 0 ) 2678 if( xQueueRegistry[ ux ].xHandle == xQueue )
2681 xQueueRegistry[ ux ].pcQueueName =
NULL;
2700 #if ( configUSE_TIMERS == 1 ) 2736 #if( ( configUSE_QUEUE_SETS == 1 ) && ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) ) 2750 #if ( configUSE_QUEUE_SETS == 1 ) 2758 if( ( (
Queue_t * ) xQueueOrSemaphore )->pxQueueSetContainer !=
NULL )
2771 ( (
Queue_t * ) xQueueOrSemaphore )->pxQueueSetContainer = xQueueSet;
2783 #if ( configUSE_QUEUE_SETS == 1 ) 2788 Queue_t *
const pxQueueOrSemaphore = (
Queue_t * ) xQueueOrSemaphore;
2790 if( pxQueueOrSemaphore->pxQueueSetContainer != xQueueSet )
2807 pxQueueOrSemaphore->pxQueueSetContainer =
NULL;
2819 #if ( configUSE_QUEUE_SETS == 1 ) 2832 #if ( configUSE_QUEUE_SETS == 1 ) 2845 #if ( configUSE_QUEUE_SETS == 1 ) 2849 Queue_t *pxQueueSetContainer = pxQueue->pxQueueSetContainer;
2887 pxQueueSetContainer->
cTxLock = ( int8_t ) ( cTxLock + 1 );
BaseType_t xQueueAddToSet(QueueSetMemberHandle_t xQueueOrSemaphore, QueueSetHandle_t xQueueSet) PRIVILEGED_FUNCTION
UBaseType_t uxQueueMessagesWaitingFromISR(const QueueHandle_t xQueue)
void vPortFree(void *pv) PRIVILEGED_FUNCTION
#define traceQUEUE_PEEK_FROM_ISR(pxQueue)
#define queueQUEUE_TYPE_SET
BaseType_t xQueueTakeMutexRecursive(QueueHandle_t xMutex, TickType_t xTicksToWait) PRIVILEGED_FUNCTION
BaseType_t xQueueCRSendFromISR(QueueHandle_t xQueue, const void *pvItemToQueue, BaseType_t xCoRoutinePreviouslyWoken)
#define traceGIVE_MUTEX_RECURSIVE_FAILED(pxMutex)
BaseType_t xQueueSemaphoreTake(QueueHandle_t xQueue, TickType_t xTicksToWait)
QueueHandle_t xQueueCreateMutexStatic(const uint8_t ucQueueType, StaticQueue_t *pxStaticQueue) PRIVILEGED_FUNCTION
void * QueueSetMemberHandle_t
#define queueYIELD_IF_USING_PREEMPTION()
void vQueueSetQueueNumber(QueueHandle_t xQueue, UBaseType_t uxQueueNumber) PRIVILEGED_FUNCTION
union QueueDefinition::@28 u
TaskHandle_t xTaskGetCurrentTaskHandle(void) PRIVILEGED_FUNCTION
#define traceQUEUE_REGISTRY_ADD(xQueue, pcQueueName)
UBaseType_t uxQueueMessagesWaiting(const QueueHandle_t xQueue)
#define traceQUEUE_SEND(pxQueue)
#define traceCREATE_COUNTING_SEMAPHORE()
#define listGET_ITEM_VALUE_OF_HEAD_ENTRY(pxList)
#define queueQUEUE_TYPE_COUNTING_SEMAPHORE
#define queueLOCKED_UNMODIFIED
#define taskEXIT_CRITICAL()
void vTaskSuspendAll(void) PRIVILEGED_FUNCTION
#define configMAX_PRIORITIES
#define traceQUEUE_SEND_FAILED(pxQueue)
#define traceQUEUE_CREATE_FAILED(ucQueueType)
#define portENABLE_INTERRUPTS()
#define queueSEMAPHORE_QUEUE_ITEM_LENGTH
void * xQueueGetMutexHolder(QueueHandle_t xSemaphore) PRIVILEGED_FUNCTION
#define portDISABLE_INTERRUPTS()
#define traceQUEUE_CREATE(pxNewQueue)
BaseType_t xTaskPriorityInherit(TaskHandle_t const pxMutexHolder) PRIVILEGED_FUNCTION
void * pvTaskIncrementMutexHeldCount(void) PRIVILEGED_FUNCTION
#define traceQUEUE_SEND_FROM_ISR(pxQueue)
#define traceTAKE_MUTEX_RECURSIVE_FAILED(pxMutex)
void * pvPortMalloc(size_t xSize) PRIVILEGED_FUNCTION
#define vQueueUnregisterQueue(xQueue)
void vTaskPlaceOnEventListRestricted(List_t *const pxEventList, TickType_t xTicksToWait, const BaseType_t xWaitIndefinitely) PRIVILEGED_FUNCTION
QueueSetHandle_t xQueueCreateSet(const UBaseType_t uxEventQueueLength) PRIVILEGED_FUNCTION
#define traceQUEUE_PEEK_FAILED(pxQueue)
#define listLIST_IS_EMPTY(pxList)
static BaseType_t prvCopyDataToQueue(Queue_t *const pxQueue, const void *pvItemToQueue, const BaseType_t xPosition) PRIVILEGED_FUNCTION
#define traceQUEUE_PEEK(pxQueue)
List_t xTasksWaitingToReceive
void * xQueueGetMutexHolderFromISR(QueueHandle_t xSemaphore) PRIVILEGED_FUNCTION
unsigned long UBaseType_t
#define queueSEND_TO_BACK
struct QueueDefinition xQUEUE
QueueSetMemberHandle_t xQueueSelectFromSet(QueueSetHandle_t xQueueSet, const TickType_t xTicksToWait) PRIVILEGED_FUNCTION
BaseType_t xQueuePeekFromISR(QueueHandle_t xQueue, void *const pvBuffer)
volatile UBaseType_t uxMessagesWaiting
#define traceQUEUE_SEND_FROM_ISR_FAILED(pxQueue)
#define portSET_INTERRUPT_MASK_FROM_ISR()
QueueSetMemberHandle_t xQueueSelectFromSetFromISR(QueueSetHandle_t xQueueSet) PRIVILEGED_FUNCTION
BaseType_t xQueueIsQueueFullFromISR(const QueueHandle_t xQueue)
#define pcQueueGetName(xQueue)
void vTaskPriorityDisinheritAfterTimeout(TaskHandle_t const pxMutexHolder, UBaseType_t uxHighestPriorityWaitingTask) PRIVILEGED_FUNCTION
#define vQueueAddToRegistry(xQueue, pcName)
#define traceBLOCKING_ON_QUEUE_RECEIVE(pxQueue)
#define traceQUEUE_RECEIVE_FAILED(pxQueue)
#define traceQUEUE_RECEIVE(pxQueue)
void vQueueWaitForMessageRestricted(QueueHandle_t xQueue, TickType_t xTicksToWait, const BaseType_t xWaitIndefinitely) PRIVILEGED_FUNCTION
BaseType_t xQueueReceiveFromISR(QueueHandle_t xQueue, void *const pvBuffer, BaseType_t *const pxHigherPriorityTaskWoken)
#define portASSERT_IF_INTERRUPT_PRIORITY_INVALID()
BaseType_t xTaskPriorityDisinherit(TaskHandle_t const pxMutexHolder) PRIVILEGED_FUNCTION
#define traceBLOCKING_ON_QUEUE_PEEK(pxQueue)
void vTaskMissedYield(void) PRIVILEGED_FUNCTION
BaseType_t xQueueGiveMutexRecursive(QueueHandle_t pxMutex) PRIVILEGED_FUNCTION
UBaseType_t uxQueueGetQueueNumber(QueueHandle_t xQueue) PRIVILEGED_FUNCTION
static void prvUnlockQueue(Queue_t *const pxQueue) PRIVILEGED_FUNCTION
#define traceCREATE_MUTEX_FAILED()
BaseType_t xQueueCRReceiveFromISR(QueueHandle_t xQueue, void *pvBuffer, BaseType_t *pxTaskWoken)
BaseType_t xQueueReceive(QueueHandle_t xQueue, void *const pvBuffer, TickType_t xTicksToWait)
uint8_t ucQueueGetQueueType(QueueHandle_t xQueue) PRIVILEGED_FUNCTION
#define traceTAKE_MUTEX_RECURSIVE(pxMutex)
BaseType_t xQueueGenericReset(QueueHandle_t xQueue, BaseType_t xNewQueue)
void vCoRoutineAddToDelayedList(TickType_t xTicksToDelay, List_t *pxEventList)
static void prvInitialiseNewQueue(const UBaseType_t uxQueueLength, const UBaseType_t uxItemSize, uint8_t *pucQueueStorage, const uint8_t ucQueueType, Queue_t *pxNewQueue) PRIVILEGED_FUNCTION
#define traceQUEUE_PEEK_FROM_ISR_FAILED(pxQueue)
#define portYIELD_WITHIN_API
#define traceQUEUE_RECEIVE_FROM_ISR_FAILED(pxQueue)
#define configQUEUE_REGISTRY_SIZE
BaseType_t xTaskResumeAll(void) PRIVILEGED_FUNCTION
BaseType_t xTaskGetSchedulerState(void) PRIVILEGED_FUNCTION
#define taskENTER_CRITICAL()
BaseType_t xQueueGenericSendFromISR(QueueHandle_t xQueue, const void *const pvItemToQueue, BaseType_t *const pxHigherPriorityTaskWoken, const BaseType_t xCopyPosition)
#define traceCREATE_COUNTING_SEMAPHORE_FAILED()
BaseType_t xQueueCRSend(QueueHandle_t xQueue, const void *pvItemToQueue, TickType_t xTicksToWait)
List_t xTasksWaitingToSend
#define traceQUEUE_RECEIVE_FROM_ISR(pxQueue)
QueueHandle_t xQueueCreateMutex(const uint8_t ucQueueType) PRIVILEGED_FUNCTION
static BaseType_t prvIsQueueFull(const Queue_t *pxQueue) PRIVILEGED_FUNCTION
#define queueQUEUE_IS_MUTEX
#define traceBLOCKING_ON_QUEUE_SEND(pxQueue)
BaseType_t xQueuePeek(QueueHandle_t xQueue, void *const pvBuffer, TickType_t xTicksToWait)
BaseType_t xQueueRemoveFromSet(QueueSetMemberHandle_t xQueueOrSemaphore, QueueSetHandle_t xQueueSet) PRIVILEGED_FUNCTION
BaseType_t xCoRoutineRemoveFromEventList(const List_t *pxEventList)
UBaseType_t uxRecursiveCallCount
QueueHandle_t xQueueCreateCountingSemaphoreStatic(const UBaseType_t uxMaxCount, const UBaseType_t uxInitialCount, StaticQueue_t *pxStaticQueue) PRIVILEGED_FUNCTION
BaseType_t xQueueIsQueueEmptyFromISR(const QueueHandle_t xQueue)
#define PRIVILEGED_FUNCTION
#define traceQUEUE_DELETE(pxQueue)
#define queueMUTEX_GIVE_BLOCK_TIME
#define traceCREATE_MUTEX(pxNewQueue)
#define prvLockQueue(pxQueue)
struct xSTATIC_QUEUE StaticQueue_t
#define mtCOVERAGE_TEST_MARKER()
BaseType_t xTaskCheckForTimeOut(TimeOut_t *const pxTimeOut, TickType_t *const pxTicksToWait) PRIVILEGED_FUNCTION
#define taskSCHEDULER_SUSPENDED
#define traceGIVE_MUTEX_RECURSIVE(pxMutex)
void vQueueDelete(QueueHandle_t xQueue)
#define portCLEAR_INTERRUPT_MASK_FROM_ISR(uxSavedStatusValue)
#define listCURRENT_LIST_LENGTH(pxList)
BaseType_t xQueueCRReceive(QueueHandle_t xQueue, void *pvBuffer, TickType_t xTicksToWait)
static void prvCopyDataFromQueue(Queue_t *const pxQueue, void *const pvBuffer) PRIVILEGED_FUNCTION
BaseType_t xQueueGenericSend(QueueHandle_t xQueue, const void *const pvItemToQueue, TickType_t xTicksToWait, const BaseType_t xCopyPosition)
BaseType_t xTaskRemoveFromEventList(const List_t *const pxEventList) PRIVILEGED_FUNCTION
void vTaskPlaceOnEventList(List_t *const pxEventList, const TickType_t xTicksToWait) PRIVILEGED_FUNCTION
void vListInitialise(List_t *const pxList) PRIVILEGED_FUNCTION
QueueHandle_t xQueueCreateCountingSemaphore(const UBaseType_t uxMaxCount, const UBaseType_t uxInitialCount) PRIVILEGED_FUNCTION
static BaseType_t prvIsQueueEmpty(const Queue_t *pxQueue) PRIVILEGED_FUNCTION
BaseType_t xQueueGiveFromISR(QueueHandle_t xQueue, BaseType_t *const pxHigherPriorityTaskWoken)
void vTaskInternalSetTimeOutState(TimeOut_t *const pxTimeOut) PRIVILEGED_FUNCTION
UBaseType_t uxQueueSpacesAvailable(const QueueHandle_t xQueue)