void page_response(HttpHeader *header){ bool reset=FALSE; bool prepare=TRUE; char* action=header->action; OUTD("action=%s",action); Ql_memset(__data_buf,0,4096); Ql_memset(__s_buf,0,10240); if (Ql_strstr(header->action, "/")) { get_main_page( __est_connection ? "System state is start":"System state stop"); OUTD("main page",NULL); } else if (Ql_strstr(action,"reboot")) { get_rebot_page(); reset=TRUE; } else if (Ql_strstr(action,"settings?")) { char* pch=NULL; char* last=NULL; //OUTD("parse setting action:%s",pch); pch=strtok_r(action+9,"&",&last); //OUTD("parse command:%s",pch); while (pch!=NULL) { setCommand(pch); pch=strtok_r(NULL,"&",&last); //OUTD("parse command:%s",pch); } WriteSettings(); ReadSettings(); get_main_page("Save settings controller is OK"); } else if (Ql_strstr(action,"date?")) { bool sdt=SetLocDate(action+5); get_main_page(sdt ? "Set date and time is OK":"Error set date and time"); } else if (Ql_strstr(action,"stop")) { StopEstConnection(); get_main_page("Recive command Stop"); } else if (Ql_strstr(action,"run")) { nSTATE=STATE_EST_SOCKET_CREATE; get_main_page("Recive command Start"); } else if (Ql_strstr(action,"log")) { u16 size=0; ReadLogFile(&size); Ql_sprintf(__s_buf,__download_page,size); //Ql_strcpy(&__s_buf[Ql_strlen(__s_buf)],__buf_log); Ql_memcpy(&__s_buf[Ql_strlen(__s_buf)],__buf_log,size); OUTD("__download_page:%d file size:%d buffer-len:%d",Ql_strlen(__download_page),size,Ql_strlen(__s_buf)); prepare=FALSE; } else if (Ql_strstr(action, "autorize")) { Ql_sprintf(__s_buf,__autorize,0); prepare=FALSE; OUTD("set autorize",NULL); } else { get_error_page(); Ql_sprintf(__s_buf,__error_page,0); prepare=FALSE; } if (prepare) { //if (header->set_cookie) { // Ql_sprintf(__s_buf, __ok_page, Ql_strlen(__data_buf),"\r\nSet-Cookie: __ztp=987654321\r\n"); //} Ql_sprintf(__s_buf, __ok_page, Ql_strlen(__data_buf)); Ql_strcpy(&__s_buf[Ql_strlen(__s_buf)],__data_buf); OUTD("sbuf:%d dbuf:%d",Ql_strlen(__s_buf),Ql_strlen(__data_buf)); } if (reset) { Ql_Sleep(10000); Ql_Reset(0); } }
int execSetCommand(char (*argv)[ARGUMENTCNT]) { valObject *val = createObj(argv[2]); return setCommand(argv[1], val); }
void MidiMessage::setData(uchar aCommand, uchar aP1, uchar aP2, uchar aP3) { setCommand(aCommand); setP1(aP1); setP2(aP2); setP3(aP3); }
/* * Arguments: * argv[2] - wlan interface * argv[3] - softap interface * argv[4] - SSID * argv[5] - Broadcast/Hidden * argv[6] - Channel * argv[7] - Security * argv[8] - Key * the following argv may missing * argv[9] - Preamble * argv[10] - Max SCB */ int SoftapController::setSoftap(int argc, char *argv[]) { char psk_str[2*SHA256_DIGEST_LENGTH+1]; int ret = ResponseCode::SoftapStatusResult; int i = 0; char *ssid, *iface; int fd; int hidden = 0; int channel = AP_CHANNEL_DEFAULT; char *wbuf = NULL; char *fbuf = NULL; if (mSock < 0) { ALOGE("Softap set - failed to open socket"); return ResponseCode::OperationFailed; } if (argc < 5) { ALOGE("Softap set is missing arguments. Please use:"); ALOGE("softap <wlan iface> <SSID> <hidden/broadcast> <channel> <wpa2?-psk|open> <passphrase>"); return ResponseCode::CommandSyntaxError; } strncpy(mIface, argv[3], sizeof(mIface)); iface = argv[2]; #ifdef HAVE_HOSTAPD if (!strcasecmp(argv[5], "hidden")) hidden = 1; if (argc > 4) { ssid = argv[4]; } else { ssid = (char *)"AndroidAP"; } if (argc >= 5) { channel = atoi(argv[5]); if (channel <= 0) channel = AP_CHANNEL_DEFAULT; } asprintf(&wbuf, "interface=%s\ndriver=" HOSTAPD_DRIVER_NAME "\nctrl_interface=" "/data/misc/wifi/hostapd\nssid=%s\nchannel=%d\nieee80211n=1\n" "hw_mode=g\nignore_broadcast_ssid=%d\n", iface, ssid, channel, hidden); if (argc > 7) { if (!strcmp(argv[7], "wpa-psk")) { generatePsk(ssid, argv[8], psk_str); asprintf(&fbuf, "%swpa=1\nwpa_pairwise=TKIP CCMP\nwpa_psk=%s\n", wbuf, psk_str); } else if (!strcmp(argv[7], "wpa2-psk")) { generatePsk(ssid, argv[8], psk_str); asprintf(&fbuf, "%swpa=2\nrsn_pairwise=CCMP\nwpa_psk=%s\n", wbuf, psk_str); } else if (!strcmp(argv[7], "open")) { asprintf(&fbuf, "%s", wbuf); } } else if (argc > 6) { if (!strcmp(argv[6], "open")) { asprintf(&fbuf, "%s", wbuf); } } else { asprintf(&fbuf, "%s", wbuf); } fd = open(HOSTAPD_CONF_FILE, O_CREAT | O_TRUNC | O_WRONLY | O_NOFOLLOW, 0660); if (fd < 0) { ALOGE("Cannot update \"%s\": %s", HOSTAPD_CONF_FILE, strerror(errno)); free(wbuf); free(fbuf); return ResponseCode::OperationFailed; } if (write(fd, fbuf, strlen(fbuf)) < 0) { ALOGE("Cannot write to \"%s\": %s", HOSTAPD_CONF_FILE, strerror(errno)); ret = ResponseCode::OperationFailed; } free(wbuf); free(fbuf); /* Note: apparently open can fail to set permissions correctly at times */ if (fchmod(fd, 0660) < 0) { ALOGE("Error changing permissions of %s to 0660: %s", HOSTAPD_CONF_FILE, strerror(errno)); close(fd); unlink(HOSTAPD_CONF_FILE); return ResponseCode::OperationFailed; } if (fchown(fd, AID_SYSTEM, AID_WIFI) < 0) { ALOGE("Error changing group ownership of %s to %d: %s", HOSTAPD_CONF_FILE, AID_WIFI, strerror(errno)); close(fd); unlink(HOSTAPD_CONF_FILE); return ResponseCode::OperationFailed; } close(fd); #else /* Create command line */ i = addParam(i, "ASCII_CMD", "AP_CFG"); if (argc > 4) { ssid = argv[4]; } else { ssid = (char *)"AndroidAP"; } i = addParam(i, "SSID", ssid); if (argc > 7) { i = addParam(i, "SEC", argv[7]); } else { i = addParam(i, "SEC", "open"); } if (argc > 8) { generatePsk(ssid, argv[8], psk_str); i = addParam(i, "KEY", psk_str); } else { i = addParam(i, "KEY", "12345678"); } if (argc > 6) { i = addParam(i, "CHANNEL", argv[6]); } else { i = addParam(i, "CHANNEL", "6"); } if (argc > 9) { i = addParam(i, "PREAMBLE", argv[9]); } else { i = addParam(i, "PREAMBLE", "0"); } if (argc > 10) { i = addParam(i, "MAX_SCB", argv[10]); } else { i = addParam(i, "MAX_SCB", "8"); } if ((i < 0) || ((unsigned)(i + 4) >= sizeof(mBuf))) { ALOGE("Softap set - command is too big"); return ResponseCode::OperationFailed; } sprintf(&mBuf[i], "END"); /* system("iwpriv eth0 WL_AP_CFG ASCII_CMD=AP_CFG,SSID=\"AndroidAP\",SEC=\"open\",KEY=12345,CHANNEL=1,PREAMBLE=0,MAX_SCB=8,END"); */ ret = setCommand(iface, "AP_SET_CFG"); if (ret) { ALOGE("Softap set - failed: %d", ret); ret = ResponseCode::ServiceStartFailed; } else { ALOGD("Softap set - Ok"); usleep(AP_SET_CFG_DELAY); } #endif return ret; }