/** * \brief Periodically retrigger timeout process. * After managing the lwIP timers. trigger corresponding ethernet process. */ void ethernet_task(void) { /* Run polling tasks */ ethernetif_input(&gs_net_if); /* Run periodic tasks */ timers_update(); }
/** * \brief Process incoming ethernet frames, then update timers. */ void ethernet_task(void) { /* Poll the network interface driver for incoming ethernet frames. */ ethernetif_input(&gs_net_if); /* Update the periodic timer. */ timers_update(); }
static gboolean timers_cb(gpointer user_data) { struct ofono_stk *stk = user_data; stk->timers_source = 0; timers_update(stk); return FALSE; }
/** * \brief Periodically retrigger timeout process. * After managing the lwIP timers. trigger corresponding ethernet process. */ void ethernet_task(void) { /** Run periodic tasks */ timers_update(); vTaskDelay(task_delay); }
static gboolean handle_command_timer_mgmt(const struct stk_command *cmd, struct stk_response *rsp, struct ofono_stk *stk) { int op = cmd->qualifier & 3; time_t seconds, now = time(NULL); struct stk_timer *tmr; if (cmd->timer_mgmt.timer_id < 1 || cmd->timer_mgmt.timer_id > 8) { rsp->result.type = STK_RESULT_TYPE_DATA_NOT_UNDERSTOOD; return TRUE; } tmr = &stk->timers[cmd->timer_mgmt.timer_id - 1]; switch (op) { case 0: /* Start */ seconds = cmd->timer_mgmt.timer_value.second + cmd->timer_mgmt.timer_value.minute * 60 + cmd->timer_mgmt.timer_value.hour * 3600; tmr->expiry = now + seconds; tmr->start = now; timers_update(stk); break; case 1: /* Deactivate */ if (!tmr->expiry) { rsp->result.type = STK_RESULT_TYPE_TIMER_CONFLICT; return TRUE; } seconds = MAX(0, tmr->expiry - now); tmr->expiry = 0; timers_update(stk); timer_value_from_seconds(&rsp->timer_mgmt.value, seconds); break; case 2: /* Get current value */ if (!tmr->expiry) { rsp->result.type = STK_RESULT_TYPE_TIMER_CONFLICT; return TRUE; } seconds = MAX(0, tmr->expiry - now); timer_value_from_seconds(&rsp->timer_mgmt.value, seconds); break; default: rsp->result.type = STK_RESULT_TYPE_DATA_NOT_UNDERSTOOD; return TRUE; } rsp->timer_mgmt.id = cmd->timer_mgmt.timer_id; return TRUE; }