33 #error "include FreeRTOS.h" must appear in source files before "include queue.h"
46typedef void * queue_t;
53typedef void * QueueSetHandle_t;
60typedef void * QueueSetMemberHandle_t;
63#define queueSEND_TO_BACK ( ( int32_t ) 0 )
64#define queueSEND_TO_FRONT ( ( int32_t ) 1 )
65#define queueOVERWRITE ( ( int32_t ) 2 )
68#define queueQUEUE_TYPE_BASE ( ( uint8_t ) 0U )
69#define queueQUEUE_TYPE_SET ( ( uint8_t ) 0U )
70#define queueQUEUE_TYPE_MUTEX ( ( uint8_t ) 1U )
71#define queueQUEUE_TYPE_COUNTING_SEMAPHORE ( ( uint8_t ) 2U )
72#define queueQUEUE_TYPE_BINARY_SEMAPHORE ( ( uint8_t ) 3U )
73#define queueQUEUE_TYPE_RECURSIVE_MUTEX ( ( uint8_t ) 4U )
143#if( configSUPPORT_DYNAMIC_ALLOCATION == 1 )
144 queue_t
queue_create(uint32_t uxQueueLength, uint32_t uxItemSize);
229#if( configSUPPORT_STATIC_ALLOCATION == 1 )
231 uint8_t *pucQueueStorageBuffer, static_queue_s_t *pxQueueBuffer);
312bool queue_prepend(queue_t queue,
const void* item, uint32_t timeout);
394bool queue_append(queue_t queue,
const void* item, uint32_t timeout);
478#define xQueueSend( xQueue, pvItemToQueue, xTicksToWait ) xQueueGenericSend( ( xQueue ), ( pvItemToQueue ), ( xTicksToWait ), queueSEND_TO_BACK )
561#define queue_overwrite( xQueue, pvItemToQueue ) xQueueGenericSend( ( xQueue ), ( pvItemToQueue ), 0, queueOVERWRITE )
649int32_t xQueueGenericSend( queue_t xQueue,
const void *
const pvItemToQueue, uint32_t xTicksToWait,
const int32_t xCopyPosition ) ;
743int32_t
queue_peek( queue_t xQueue,
void *
const pvBuffer, uint32_t xTicksToWait ) ;
776int32_t xQueuePeekFromISR( queue_t xQueue,
void *
const pvBuffer ) ;
867int32_t
queue_recv( queue_t xQueue,
void *
const pvBuffer, uint32_t xTicksToWait ) ;
983#define xQueueSendToFrontFromISR( xQueue, pvItemToQueue, pxHigherPriorityTaskWoken ) xQueueGenericSendFromISR( ( xQueue ), ( pvItemToQueue ), ( pxHigherPriorityTaskWoken ), queueSEND_TO_FRONT )
1054#define xQueueSendToBackFromISR( xQueue, pvItemToQueue, pxHigherPriorityTaskWoken ) xQueueGenericSendFromISR( ( xQueue ), ( pvItemToQueue ), ( pxHigherPriorityTaskWoken ), queueSEND_TO_BACK )
1141#define xQueueOverwriteFromISR( xQueue, pvItemToQueue, pxHigherPriorityTaskWoken ) xQueueGenericSendFromISR( ( xQueue ), ( pvItemToQueue ), ( pxHigherPriorityTaskWoken ), queueOVERWRITE )
1215#define xQueueSendFromISR( xQueue, pvItemToQueue, pxHigherPriorityTaskWoken ) xQueueGenericSendFromISR( ( xQueue ), ( pvItemToQueue ), ( pxHigherPriorityTaskWoken ), queueSEND_TO_BACK )
1294int32_t xQueueGenericSendFromISR( queue_t xQueue,
const void *
const pvItemToQueue, int32_t *
const pxHigherPriorityTaskWoken,
const int32_t xCopyPosition ) ;
1295int32_t xQueueGiveFromISR( queue_t xQueue, int32_t *
const pxHigherPriorityTaskWoken ) ;
1384int32_t xQueueReceiveFromISR( queue_t xQueue,
void *
const pvBuffer, int32_t *
const pxHigherPriorityTaskWoken ) ;
1390int32_t xQueueIsQueueEmptyFromISR(
const queue_t xQueue ) ;
1391int32_t xQueueIsQueueFullFromISR(
const queue_t xQueue ) ;
1392uint32_t uxQueueMessagesWaitingFromISR(
const queue_t xQueue ) ;
1403int32_t xQueueCRSendFromISR( queue_t xQueue,
const void *pvItemToQueue, int32_t xCoRoutinePreviouslyWoken );
1404int32_t xQueueCRReceiveFromISR( queue_t xQueue,
void *pvBuffer, int32_t *pxTaskWoken );
1405int32_t xQueueCRSend( queue_t xQueue,
const void *pvItemToQueue, uint32_t xTicksToWait );
1406int32_t xQueueCRReceive( queue_t xQueue,
void *pvBuffer, uint32_t xTicksToWait );
1413queue_t xQueueCreateMutex(
const uint8_t ucQueueType ) ;
1414queue_t xQueueCreateMutexStatic(
const uint8_t ucQueueType, static_queue_s_t *pxStaticQueue ) ;
1415queue_t xQueueCreateCountingSemaphore(
const uint32_t uxMaxCount,
const uint32_t uxInitialCount ) ;
1416queue_t xQueueCreateCountingSemaphoreStatic(
const uint32_t uxMaxCount,
const uint32_t uxInitialCount, static_queue_s_t *pxStaticQueue ) ;
1417int32_t xQueueSemaphoreTake( queue_t xQueue, uint32_t xTicksToWait ) ;
1418void* xQueueGetMutexHolder( queue_t xSemaphore ) ;
1419void* xQueueGetMutexHolderFromISR( queue_t xSemaphore ) ;
1425int32_t xQueueTakeMutexRecursive( queue_t xMutex, uint32_t xTicksToWait ) ;
1426int32_t xQueueGiveMutexRecursive( queue_t pxMutex ) ;
1456#if( configQUEUE_REGISTRY_SIZE > 0 )
1457 void vQueueAddToRegistry( queue_t xQueue,
const char *pcName ) ;
1470#if( configQUEUE_REGISTRY_SIZE > 0 )
1471 void vQueueUnregisterQueue( queue_t xQueue ) ;
1485#if( configQUEUE_REGISTRY_SIZE > 0 )
1486 const char *pcQueueGetName( queue_t xQueue ) ;
1494#if( configSUPPORT_DYNAMIC_ALLOCATION == 1 )
1495 queue_t xQueueGenericCreate(
const uint32_t uxQueueLength,
const uint32_t uxItemSize,
const uint8_t ucQueueType ) ;
1503#if( configSUPPORT_STATIC_ALLOCATION == 1 )
1504 queue_t xQueueGenericCreateStatic(
const uint32_t uxQueueLength,
const uint32_t uxItemSize, uint8_t *pucQueueStorage, static_queue_s_t *pxStaticQueue,
const uint8_t ucQueueType ) ;
1555QueueSetHandle_t xQueueCreateSet(
const uint32_t uxEventQueueLength ) ;
1579int32_t xQueueAddToSet( QueueSetMemberHandle_t xQueueOrSemaphore, QueueSetHandle_t xQueueSet ) ;
1598int32_t xQueueRemoveFromSet( QueueSetMemberHandle_t xQueueOrSemaphore, QueueSetHandle_t xQueueSet ) ;
1634QueueSetMemberHandle_t xQueueSelectFromSet( QueueSetHandle_t xQueueSet,
const uint32_t xTicksToWait ) ;
1639QueueSetMemberHandle_t xQueueSelectFromSetFromISR( QueueSetHandle_t xQueueSet ) ;
1642void vQueueWaitForMessageRestricted( queue_t xQueue, uint32_t xTicksToWait,
const int32_t xWaitIndefinitely ) ;
1643int32_t xQueueGenericReset( queue_t xQueue, int32_t xNewQueue ) ;
1644void vQueueSetQueueNumber( queue_t xQueue, uint32_t uxQueueNumber ) ;
1645uint32_t uxQueueGetQueueNumber( queue_t xQueue ) ;
1646uint8_t ucQueueGetQueueType( queue_t xQueue ) ;
void queue_delete(queue_t queue)
bool queue_append(queue_t queue, const void *item, uint32_t timeout)
queue_t queue_create(uint32_t length, uint32_t item_size)
uint32_t queue_get_available(const queue_t queue)
bool queue_peek(queue_t queue, void *const buffer, uint32_t timeout)
bool queue_recv(queue_t queue, void *const buffer, uint32_t timeout)
uint32_t queue_get_waiting(const queue_t queue)
void queue_reset(queue_t queue)
queue_t queue_create_static(uint32_t length, uint32_t item_size, uint8_t *storage_buffer, static_queue_s_t *queue_buffer)