void vTaskGetInfo( TaskHandle_t xTask, TaskStatus_t *pxTaskStatus, BaseType_t xGetFreeStackSpace, eTaskState eState ){
TCB_t *pxTCB;/* xTask is NULL then get the state of the calling task. */
pxTCB =prvGetTCBFromHandle( xTask );------(1)
pxTaskStatus->xHandle =( TaskHandle_t ) pxTCB;------(2)
pxTaskStatus->pcTaskName =( const char *)&( pxTCB->pcTaskName [0]);------(3)
pxTaskStatus->uxCurrentPriority = pxTCB->uxPriority;------(4)
pxTaskStatus->pxStackBase = pxTCB->pxStack;------(5)
pxTaskStatus->xTaskNumber = pxTCB->uxTCBNumber;------(6)
#if( INCLUDE_vTaskSuspend ==1)------(7){
/* If the task is in the suspended list then there is a chance it is
actually just blocked indefinitely - so really it should be reported as
being in the Blocked state. */if( pxTaskStatus->eCurrentState == eSuspended ){
vTaskSuspendAll();{
if(listLIST_ITEM_CONTAINER(&( pxTCB-</