connector_callback_status_t app_os_handler(connector_request_id_os_t const request, void * const data) { connector_callback_status_t status; switch (request) { case connector_request_id_os_malloc: { connector_os_malloc_t * p = data; status = app_os_malloc(p->size, &p->ptr); } break; case connector_request_id_os_free: { connector_os_free_t * p = data; status = app_os_free(p->ptr); } break; case connector_request_id_os_system_up_time: { connector_os_system_up_time_t * p = data; status = app_os_get_system_time(&p->sys_uptime); } break; case connector_request_id_os_yield: { connector_os_yield_t * p = data; status = app_os_yield(&p->status); } break; case connector_request_id_os_reboot: status = app_os_reboot(); break; default: APP_DEBUG("app_os_handler: unrecognized request [%d]\n", request); status = connector_callback_unrecognized; break; } return status; }
idigi_callback_status_t app_os_handler(idigi_os_request_t const request, void const * const request_data, size_t const request_length, void * response_data, size_t * const response_length) { idigi_callback_status_t status; UNUSED_ARGUMENT(request_length); UNUSED_ARGUMENT(response_length); switch (request) { case idigi_os_malloc: { size_t const * const bytes = request_data; status = app_os_malloc(*bytes, response_data); } break; case idigi_os_free: app_os_free(request_data); status = idigi_callback_continue; break; case idigi_os_system_up_time: status = app_os_get_system_time(response_data); break; case idigi_os_sleep: { unsigned int const * const seconds = request_data; status = app_os_sleep(*seconds); } break; default: APP_DEBUG("app_os_handler: unrecognized request [%d]\n", request); status = idigi_callback_unrecognized; break; } return status; }