Example #1
0
static void sigstop(int signo)
{
	mw_stop_aaa();
	delete_pid_file(IMAGE_SERVER_PROC);
	APP_PRINTF("Exit image_server!\n");
	exit(1);
}
Example #2
0
static int do_aaa_control(Request *req)
{
	int retv = 0;
	Ack ack;

	APP_INFO("Process AAA control id [%d].\n", (int)req->info);
	switch (req->info) {
	case AAA_START:
		retv = mw_start_aaa(fd_iav);
		if (retv < 0) {
			APP_ERROR("mw_start_aaa failed!\n");
		}
		APP_INFO("AAA control : Start AAA done !\n");
		break;
	case AAA_STOP:
		retv = mw_stop_aaa();
		APP_INFO("AAA control : Stop AAA done !\n");
		break;
	default:
		APP_PRINTF("Unknown AAA control id [%d]\n", (int)req->info);
		break;
	}
	ack.result = ack.info = retv;
	retv = send_text((u8 *)&ack, sizeof(ack));

	return retv;
}
Example #3
0
static int nl_send_image_session_cmd(int cmd)
{
	int ret = 0;

	if (cmd == IMAGE_SESSION_CMD_DISCONNECT) {
		mw_stop_aaa();
	}

	nl_image_config.nl_msg.pid = getpid();
	nl_image_config.nl_msg.index = IMAGE_MSG_INDEX_SESSION_CMD;
	nl_image_config.nl_msg.msg.session_cmd = cmd;
	send_image_msg_to_kernel(nl_image_config.nl_msg);

	if (cmd == IMAGE_SESSION_CMD_CONNECT) {
		ret = recv_image_msg_from_kernel();

		if (ret > 0) {
			ret = process_image_msg();
			if (ret < 0) {
				printf("Failed to process session status!\n");
			}
		} else {
			printf("Error for getting session status!\n");
		}
	}

	return ret;
}
Example #4
0
int imagingExit(void)
{	
#ifndef NO_HARDWARE
	if (mw_stop_aaa() < 0)
	{
		perror("mw_stop_aaa");
		return -1;
	}
#endif
	
	return IMAGING_OK;
}
Example #5
0
static int process_image_cmd(int image_cmd)
{
	int ret = 0;

	if (image_cmd == IMAGE_CMD_START_AAA) {
		if (nl_image_config.image_init == 0) {
			if (create_server() < 0) {
				APP_ERROR("create_server");
				return -1;
			} else {
				nl_image_config.image_init = 1;
			}
		} else {
			ret = mw_start_aaa(fd_iav);
			nl_image_config.nl_msg.pid = getpid();
			nl_image_config.nl_msg.index = IMAGE_MSG_INDEX_AAA_STATUS;
			if (ret < 0) {
				printf("Start AAA failed!\n");
				nl_image_config.nl_msg.msg.image_status =
					IMAGE_STATUS_START_AAA_FAIL;
				send_image_msg_to_kernel(nl_image_config.nl_msg);
			} else {
				nl_image_config.nl_msg.msg.image_status =
					IMAGE_STATUS_START_AAA_SUCCESS;
				send_image_msg_to_kernel(nl_image_config.nl_msg);
			}
		}
	} else if (image_cmd == IMAGE_CMD_STOP_AAA) {
		ret = mw_stop_aaa();
		nl_image_config.nl_msg.pid = getpid();
		nl_image_config.nl_msg.index = IMAGE_MSG_INDEX_AAA_STATUS;
		if (ret < 0) {
			printf("Stop AAA failed!\n");
			nl_image_config.nl_msg.msg.image_status =
				IMAGE_STATUS_STOP_AAA_FAIL;
			send_image_msg_to_kernel(nl_image_config.nl_msg);
		} else {
			nl_image_config.nl_msg.msg.image_status =
				IMAGE_STATUS_STOP_AAA_SUCCESS;
			send_image_msg_to_kernel(nl_image_config.nl_msg);
		}
	} else {
		printf("Unrecognized kernel message!\n");
		ret = -1;
	}

	return ret;
}