#define TRACE_GET_OBJECT_TRACE_CLASS(CLASS, pxObject) TRACE_GET_CLASS_TRACE_CLASS(CLASS, prvTraceGetObjectType(pxObject))\r
\r
#define TRACE_GET_OBJECT_NUMBER(CLASS, pxObject) (prvTraceGetObjectNumber(pxObject))\r
-#define TRACE_SET_OBJECT_NUMBER(CLASS, pxObject) pxObject->ucQueueNumber = xTraceGetObjectHandle(TRACE_GET_OBJECT_TRACE_CLASS(CLASS, pxObject));\r
+#define TRACE_SET_OBJECT_NUMBER(CLASS, pxObject) pxObject->uxQueueNumber = xTraceGetObjectHandle(TRACE_GET_OBJECT_TRACE_CLASS(CLASS, pxObject));\r
\r
#define TRACE_GET_CLASS_EVENT_CODE(SERVICE, RESULT, CLASS, kernelClass) (uint8_t)(EVENTGROUP_##SERVICE##_##RESULT + TRACE_GET_CLASS_TRACE_CLASS(CLASS, kernelClass))\r
#define TRACE_GET_OBJECT_EVENT_CODE(SERVICE, RESULT, CLASS, pxObject) (uint8_t)(EVENTGROUP_##SERVICE##_##RESULT + TRACE_GET_OBJECT_TRACE_CLASS(CLASS, pxObject))\r
};\r
\r
extern unsigned char ucQueueGetQueueType(void*);\r
-extern unsigned char ucQueueGetQueueNumber(void*);\r
+extern unsigned portBASE_TYPE uxQueueGetQueueNumber(void*);\r
\r
objectHandleType prvTraceGetObjectNumber(void* handle)\r
{\r
- return ucQueueGetQueueNumber(handle); \r
+ return uxQueueGetQueueNumber(handle); \r
}\r
\r
unsigned char prvTraceGetObjectType(void* handle)\r
void vFullDemoIdleFunction( void )\r
{\r
const unsigned long ulMSToSleep = 15;\r
-const unsigned char ucConstQueueNumber = 0xaaU;\r
+const unsigned portBASE_TYPE uxConstQueueNumber = 0xaaU;\r
void *pvAllocated;\r
\r
/* These three functions are only meant for use by trace code, and not for\r
direct use from application code, hence their prototypes are not in queue.h. */\r
-extern void vQueueSetQueueNumber( xQueueHandle pxQueue, unsigned char ucQueueNumber );\r
-extern unsigned char ucQueueGetQueueNumber( xQueueHandle pxQueue );\r
+extern void vQueueSetQueueNumber( xQueueHandle pxQueue, unsigned portBASE_TYPE uxQueueNumber );\r
+extern unsigned portBASE_TYPE uxQueueGetQueueNumber( xQueueHandle pxQueue );\r
extern unsigned char ucQueueGetQueueType( xQueueHandle pxQueue );\r
extern void vTaskSetTaskNumber( xTaskHandle xTask, unsigned portBASE_TYPE uxHandle );\r
extern unsigned portBASE_TYPE uxTaskGetTaskNumber( xTaskHandle xTask );\r
/* Before deleting the semaphore, test the function used to set its\r
number. This would normally only be done from trace software, rather\r
than application code. */\r
- vQueueSetQueueNumber( xMutexToDelete, ucConstQueueNumber );\r
+ vQueueSetQueueNumber( xMutexToDelete, uxConstQueueNumber );\r
\r
/* Before deleting the semaphore, test the functions used to get its\r
type and number. Again, these would normally only be done from trace\r
software, rather than application code. */\r
- configASSERT( ucQueueGetQueueNumber( xMutexToDelete ) == ucConstQueueNumber );\r
+ configASSERT( uxQueueGetQueueNumber( xMutexToDelete ) == uxConstQueueNumber );\r
configASSERT( ucQueueGetQueueType( xMutexToDelete ) == queueQUEUE_TYPE_MUTEX );\r
vSemaphoreDelete( xMutexToDelete );\r
xMutexToDelete = NULL;\r
/* Not public API functions. */\r
void vQueueWaitForMessageRestricted( xQueueHandle xQueue, portTickType xTicksToWait ) PRIVILEGED_FUNCTION;\r
portBASE_TYPE xQueueGenericReset( xQueueHandle xQueue, portBASE_TYPE xNewQueue ) PRIVILEGED_FUNCTION;\r
-void vQueueSetQueueNumber( xQueueHandle xQueue, unsigned char ucQueueNumber ) PRIVILEGED_FUNCTION;\r
-unsigned char ucQueueGetQueueNumber( xQueueHandle xQueue ) PRIVILEGED_FUNCTION;\r
+void vQueueSetQueueNumber( xQueueHandle xQueue, unsigned portBASE_TYPE uxQueueNumber ) PRIVILEGED_FUNCTION;\r
+unsigned portBASE_TYPE uxQueueGetQueueNumber( xQueueHandle xQueue ) PRIVILEGED_FUNCTION;\r
unsigned char ucQueueGetQueueType( xQueueHandle xQueue ) PRIVILEGED_FUNCTION;\r
\r
\r
\r
#define portYIELD() vPortGenerateSimulatedInterrupt( portINTERRUPT_YIELD )\r
\r
+void vPortCloseRunningThread( void *pvTaskToDelete, volatile portBASE_TYPE *pxPendYield );\r
void vPortDeleteThread( void *pvThreadToDelete );\r
#define portCLEAN_UP_TCB( pxTCB ) vPortDeleteThread( pxTCB )\r
+#define portPRE_TASK_DELETE_HOOK( pvTaskToDelete, pxPendYield ) vPortCloseRunningThread( ( pvTaskToDelete ), ( pxPendYield ) )\r
#define portDISABLE_INTERRUPTS()\r
#define portENABLE_INTERRUPTS()\r
\r
volatile signed portBASE_TYPE xTxLock; /*< Stores the number of items transmitted to the queue (added to the queue) while the queue was locked. Set to queueUNLOCKED when the queue is not locked. */\r
\r
#if ( configUSE_TRACE_FACILITY == 1 )\r
- unsigned char ucQueueNumber;\r
+ unsigned portBASE_TYPE uxQueueNumber;\r
unsigned char ucQueueType;\r
#endif\r
\r
\r
#if ( configUSE_TRACE_FACILITY == 1 )\r
\r
- unsigned char ucQueueGetQueueNumber( xQueueHandle xQueue )\r
+ unsigned portBASE_TYPE uxQueueGetQueueNumber( xQueueHandle xQueue )\r
{\r
- return ( ( xQUEUE * ) xQueue )->ucQueueNumber;\r
+ return ( ( xQUEUE * ) xQueue )->uxQueueNumber;\r
}\r
\r
#endif /* configUSE_TRACE_FACILITY */\r
\r
#if ( configUSE_TRACE_FACILITY == 1 )\r
\r
- void vQueueSetQueueNumber( xQueueHandle xQueue, unsigned char ucQueueNumber )\r
+ void vQueueSetQueueNumber( xQueueHandle xQueue, unsigned portBASE_TYPE uxQueueNumber )\r
{\r
- ( ( xQUEUE * ) xQueue )->ucQueueNumber = ucQueueNumber;\r
+ ( ( xQUEUE * ) xQueue )->uxQueueNumber = uxQueueNumber;\r
}\r
\r
#endif /* configUSE_TRACE_FACILITY */\r