]> git.sur5r.net Git - freertos/commitdiff
Add utilities that can be used to query a queue from within an ISR.
authorrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Sun, 23 Mar 2008 15:58:27 +0000 (15:58 +0000)
committerrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Sun, 23 Mar 2008 15:58:27 +0000 (15:58 +0000)
git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@253 1d2547de-c912-0410-9cb9-b8ca96c0e9e2

Source/include/queue.h

index be561ad6778f757e2cdaf3295127345ee81de810..2ba816ae20f616ec3837617ef9476b3319375bd0 100644 (file)
@@ -911,7 +911,6 @@ void vQueueDelete( xQueueHandle xQueue );
  */\r
 #define xQueueSendToBackFromISR( pxQueue, pvItemToQueue, xTaskPreviouslyWoken ) xQueueGenericSendFromISR( pxQueue, pvItemToQueue, xTaskPreviouslyWoken, queueSEND_TO_BACK )\r
 \r
-\r
 /**\r
  * queue. h\r
  * <pre>\r
@@ -1165,6 +1164,15 @@ signed portBASE_TYPE xQueueGenericSendFromISR( xQueueHandle pxQueue, const void
  */\r
 signed portBASE_TYPE xQueueReceiveFromISR( xQueueHandle pxQueue, const void * const pvBuffer, signed portBASE_TYPE *pxTaskWoken );\r
 \r
+/*\r
+ * Utilities to query queue that are safe to use from an ISR.  These utilities\r
+ * should be used only from witin an ISR, or within a critical section.\r
+ */\r
+signed portBASE_TYPE xQueueIsQueueEmptyFromISR( const xQueueHandle pxQueue );\r
+signed portBASE_TYPE xQueueIsQueueFullFromISR( const xQueueHandle pxQueue );\r
+signed portBASE_TYPE xQueueMessagesWaitingFromISR( const xQueueHandle pxQueue, unsigned portBASE_TYPE *puxMessagesWaiting );\r
+\r
+\r
 /* \r
  * xQueueAltGenericSend() is an alternative version of xQueueGenericSend().\r
  * Likewise xQueueAltGenericReceive() is an alternative version of\r
@@ -1214,6 +1222,7 @@ xQueueHandle xQueueCreateCountingSemaphore( unsigned portBASE_TYPE uxCountValue,
 portBASE_TYPE xQueueTakeMutexRecursive( xQueueHandle xMutex, portTickType xBlockTime );\r
 portBASE_TYPE xQueueGiveMutexRecursive( xQueueHandle xMutex );\r
 \r
+\r
 #ifdef __cplusplus\r
 }\r
 #endif\r