void * dump_proc(void * args) { struct dump_manager *manager = (struct dump_manager*) args; while (1) { wait_usb_plugin(manager); unmount_usb(manager); if (mount_usb(manager) == 0) { get_record_id(manager); change_led_mode(LED_DUMP); if (exe_update(manager) != 0) { get_config_info(manager); get_time(&(manager->time_export)); dump_status(manager); dump_serial(manager); dump_wave(manager); } unmount_usb(manager); change_led_mode(LED_DUMP_FINISHED); wait_usb_plugout(manager); change_led_mode(LED_NORMAL); } } return NULL; }
int start_mongoose(int ether) { struct mg_context* ctx; // Initialize random number generator. It will be used later on for // the session identifier creation. srand((unsigned)time(0)); // Setup and start Mongoose const char* options[] = { "document_root", ODI_HOME, "listening_ports", WEB_SERVER_PORT, //"access_log_file", "/odi/log/mongoose_access", "error_log_file", "/odi/log/mongoose_error", "enable_directory_listing", "no", "ssl_certificate", SSL_KEY_FILE, "request_timeout_ms", REQUESTED_TIME_OUT, NULL }; if ((ctx = mg_start(options, event_handler, NULL)) == NULL) { logger_error("%s\n", "Cannot start REMOTEM, fatal exit"); exit(EXIT_FAILURE); } logger_remotem("Web server root directory is %s, started on ports %s", mg_get_option(ctx, "document_root"), mg_get_option(ctx, "listening_ports")); strcpy(downloading_status, "Idle"); get_config_info(); if (ether) configure_network(); DVR_ID = getSerial(); return EXIT_SUCCESS; }