示例#1
0
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;
}
示例#2
0
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;
}