void InitContinuations( struct netif *pNetIf ) { InterruptTaskContinuation.InitializeCallback( (HAL_CALLBACK_FPN)LPC24XX_EMAC_lwip_recv, pNetIf ); LwipUpTimeCompletion.InitializeForUserMode( (HAL_CALLBACK_FPN)lwip_network_uptime_completion, pNetIf ); LwipUpTimeCompletion.EnqueueDelta64( 2000000 ); }
void InitContinuations( struct netif *pNetIf ) { InterruptTaskContinuation.InitializeCallback( (HAL_CALLBACK_FPN)STM32F4_ETH_LWIP_recv, (void*)pNetIf ); LwipUpTimeCompletion.InitializeForUserMode( (HAL_CALLBACK_FPN)lwip_network_uptime_completion, (void*)pNetIf ); LwipUpTimeCompletion.EnqueueDelta64( 2000000 ); }
void InitContinuations( struct netif* pNetIf ) { InterruptTaskContinuation.InitializeCallback( (HAL_CALLBACK_FPN)enc28j60_lwip_interrupt, &g_ENC28J60_NetIF ); LwipUpTimeCompletion.InitializeForUserMode( (HAL_CALLBACK_FPN)lwip_network_uptime_completion, pNetIf ); LwipUpTimeCompletion.EnqueueDelta64( 500000 ); }
/*----------------------------------------------------------------------* rtp_thread_spawn *----------------------------------------------------------------------*/ int rtp_thread_spawn (RTP_HANDLE * newThread, RTP_ENTRY_POINT_FN entryPoint, const char * name, int stackSizeIndex, int priorityIndex, void * userData) { PIFACE pi; int * index = (int *) userData; if ((rtp_strcmp(name, "ip interpret") == 0) && !IPTaskInitialized[*index]) { IPTaskInitialized[*index] = 1; IPTaskContinuation[*index].InitializeCallback((HAL_CALLBACK_FPN) entryPoint, userData); } else if ((rtp_strcmp(name, "timer comp") == 0) && !TimerTaskCompInitialized) { TimerTaskCompInitialized = 1; TimerTaskCompletion.InitializeForUserMode((HAL_CALLBACK_FPN) entryPoint, userData); TimerTaskCompletion.EnqueueDelta(cfg_protocol_data.timer_freq * 1000); } else if ((rtp_strcmp(name, "timer cont") == 0) && !TimerTaskContInitialized) { TimerTaskContInitialized = 1; TimerTaskContinuation.InitializeCallback((HAL_CALLBACK_FPN) entryPoint,userData); } else if ((rtp_strcmp(name, "interrupt task") == 0) && !InterruptTaskContInitialized[*index]) { pi = (PIFACE) &ifaces[*index]; if (!pi) { return -1; } InterruptTaskContInitialized[*index] = 1; InterruptTaskContinuation[*index].InitializeCallback((HAL_CALLBACK_FPN) entryPoint,pi); } else if ((rtp_strcmp(name, "dhcp") == 0) && !DHCPTaskInitialized) { DHCPTaskInitialized = 1; DHCPTaskContinuation.InitializeCallback((HAL_CALLBACK_FPN) entryPoint,userData); } return (0); }
void LargeBuffer_ManagedToNative( UINT16 marshalId, const BYTE* pData, size_t size ) { if(!g_LargeBufferCompletionInit) { g_LargeBufferTestCompletion.InitializeForUserMode(LargeBufferTest_Completion, (void*)marshalId); g_LargeBufferCompletionInit = TRUE; } if(!g_LargeBufferTestCompletion.IsLinked()) { g_LargeBufferTestCompletion.EnqueueDelta(1000); } int len = (size > ARRAYSIZE(s_Data)) ? ARRAYSIZE(s_Data) : size; for(int i=0; i<len; i++) { s_Data[i] = pData[size - 1 - i]; } s_LastSize = len; }