static void sigstop(int signo) { mw_stop_aaa(); delete_pid_file(IMAGE_SERVER_PROC); APP_PRINTF("Exit image_server!\n"); exit(1); }
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; }
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; }
int imagingExit(void) { #ifndef NO_HARDWARE if (mw_stop_aaa() < 0) { perror("mw_stop_aaa"); return -1; } #endif return IMAGING_OK; }
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; }