32 #ifndef INC_FREERTOS_H    33         #error "include FreeRTOS.h must appear in source files before include croutine.h"   205 #define crSTART( pxCRCB ) switch( ( ( CRCB_t * )( pxCRCB ) )->uxState ) { case 0:   242 #define crSET_STATE0( xHandle ) ( ( CRCB_t * )( xHandle ) )->uxState = (__LINE__ * 2); return; case (__LINE__ * 2):   243 #define crSET_STATE1( xHandle ) ( ( CRCB_t * )( xHandle ) )->uxState = ((__LINE__ * 2)+1); return; case ((__LINE__ * 2)+1):   291 #define crDELAY( xHandle, xTicksToDelay )                                                                                               \   292         if( ( xTicksToDelay ) > 0 )                                                                                                                     \   294                 vCoRoutineAddToDelayedList( ( xTicksToDelay ), NULL );                                                  \   296         crSET_STATE0( ( xHandle ) );   381 #define crQUEUE_SEND( xHandle, pxQueue, pvItemToQueue, xTicksToWait, pxResult )                 \   383         *( pxResult ) = xQueueCRSend( ( pxQueue) , ( pvItemToQueue) , ( xTicksToWait ) );       \   384         if( *( pxResult ) == errQUEUE_BLOCKED )                                                                                         \   386                 crSET_STATE0( ( xHandle ) );                                                                                                    \   387                 *pxResult = xQueueCRSend( ( pxQueue ), ( pvItemToQueue ), 0 );                                  \   389         if( *pxResult == errQUEUE_YIELD )                                                                                                       \   391                 crSET_STATE1( ( xHandle ) );                                                                                                    \   392                 *pxResult = pdPASS;                                                                                                                             \   473 #define crQUEUE_RECEIVE( xHandle, pxQueue, pvBuffer, xTicksToWait, pxResult )                   \   475         *( pxResult ) = xQueueCRReceive( ( pxQueue) , ( pvBuffer ), ( xTicksToWait ) );         \   476         if( *( pxResult ) == errQUEUE_BLOCKED )                                                                                         \   478                 crSET_STATE0( ( xHandle ) );                                                                                                    \   479                 *( pxResult ) = xQueueCRReceive( ( pxQueue) , ( pvBuffer ), 0 );                                \   481         if( *( pxResult ) == errQUEUE_YIELD )                                                                                           \   483                 crSET_STATE1( ( xHandle ) );                                                                                                    \   484                 *( pxResult ) = pdPASS;                                                                                                                 \   582 #define crQUEUE_SEND_FROM_ISR( pxQueue, pvItemToQueue, xCoRoutinePreviouslyWoken ) xQueueCRSendFromISR( ( pxQueue ), ( pvItemToQueue ), ( xCoRoutinePreviouslyWoken ) )   695 #define crQUEUE_RECEIVE_FROM_ISR( pxQueue, pvBuffer, pxCoRoutineWoken ) xQueueCRReceiveFromISR( ( pxQueue ), ( pvBuffer ), ( pxCoRoutineWoken ) ) 
ListItem_t xEventListItem
 
BaseType_t xCoRoutineCreate(crCOROUTINE_CODE pxCoRoutineCode, UBaseType_t uxPriority, UBaseType_t uxIndex)
 
unsigned long UBaseType_t
 
void vCoRoutineSchedule(void)
 
void vCoRoutineAddToDelayedList(TickType_t xTicksToDelay, List_t *pxEventList)
 
BaseType_t xCoRoutineRemoveFromEventList(const List_t *pxEventList)
 
crCOROUTINE_CODE pxCoRoutineFunction
 
ListItem_t xGenericListItem
 
void(* crCOROUTINE_CODE)(CoRoutineHandle_t, UBaseType_t)
 
struct corCoRoutineControlBlock CRCB_t