|
|
@@ -673,6 +673,147 @@ static int proc_ptotal(dictionary *dic, int op, PowerTotal_t *ptotal)
|
|
|
|
|
|
return r;
|
|
|
}
|
|
|
+static int proc_webcfg(dictionary *dic, int op, WebcfgInfo_t *webcfg)
|
|
|
+{
|
|
|
+ int r=0;
|
|
|
+ char temp[100];
|
|
|
+ char *p,*token=NULL;
|
|
|
+
|
|
|
+ if(op==PARAS_CHECK) {
|
|
|
+ if(webcfg->monway<0 || webcfg->monway>3) {
|
|
|
+ LOGE("___ check webcfg, mon_way is invalid, correct value is 1/2/3\n");
|
|
|
+ r = -1;
|
|
|
+ }
|
|
|
+
|
|
|
+ if(webcfg->netsw!=0 && webcfg->netsw!=1) {
|
|
|
+ LOGE("___ check webcfg, netsw is invalid, correct value is 0/1\n");
|
|
|
+ r = -1;
|
|
|
+ }
|
|
|
+
|
|
|
+ if(webcfg->nwire!=0 && webcfg->nwire!=1) {
|
|
|
+ LOGE("___ check webcfg, nwire is invalid, correct value is 0/1\n");
|
|
|
+ r = -1;
|
|
|
+ }
|
|
|
+
|
|
|
+ if(webcfg->ipv4!=0 && webcfg->ipv4!=1) {
|
|
|
+ LOGE("___ check webcfg, ipv4_use is invalid, correct value is 0/1\n");
|
|
|
+ r = -1;
|
|
|
+ }
|
|
|
+
|
|
|
+ if(webcfg->ipv6!=0 && webcfg->ipv6!=1) {
|
|
|
+ LOGE("___ check webcfg, ipv6_use is invalid, correct value is 0/1\n");
|
|
|
+ r = -1;
|
|
|
+ }
|
|
|
+ return r;
|
|
|
+ }
|
|
|
+ else if (op==PARAS_WRITE) {
|
|
|
+ r = proc_webcfg(dic, PARAS_CHECK, webcfg);
|
|
|
+ if(r) {
|
|
|
+ return -1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ token = "webcfg:monway";
|
|
|
+ if(op==PARAS_READ) {
|
|
|
+ r = iniparser_getint(dic, token, -1);
|
|
|
+ if(r==-1) {
|
|
|
+ LOGE("___ iniparser_getint %s failed\n", token);
|
|
|
+ return -1;
|
|
|
+ } else {
|
|
|
+ webcfg->monway = r;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ sprintf(temp, "%d", webcfg->monway);
|
|
|
+ r = iniparser_set(dic, token, temp);
|
|
|
+ if(r) {
|
|
|
+ LOGE("___ iniparser_set %s failed\n", token);
|
|
|
+ return -1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ token = "webcfg:netsw";
|
|
|
+ if(op==PARAS_READ) {
|
|
|
+ r = iniparser_getint(dic, token, -1);
|
|
|
+ if(r==-1) {
|
|
|
+ LOGE("___ iniparser_getint %s failed\n", token);
|
|
|
+ return -1;
|
|
|
+ } else {
|
|
|
+ webcfg->netsw = r;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ sprintf(temp, "%d", webcfg->netsw);
|
|
|
+ r = iniparser_set(dic, token, temp);
|
|
|
+ if(r) {
|
|
|
+ LOGE("___ iniparser_set %s failed\n", token);
|
|
|
+ return -1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ token = "webcfg:nwire";
|
|
|
+ if(op==PARAS_READ) {
|
|
|
+ r = iniparser_getint(dic, token, -1);
|
|
|
+ if(r==-1) {
|
|
|
+ LOGE("___ iniparser_getint %s failed\n", token);
|
|
|
+ return -1;
|
|
|
+ } else {
|
|
|
+ webcfg->nwire = r;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ sprintf(temp, "%d", webcfg->nwire);
|
|
|
+ r = iniparser_set(dic, token, temp);
|
|
|
+ if(r) {
|
|
|
+ LOGE("___ iniparser_set %s failed\n", token);
|
|
|
+ return -1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ token = "webcfg:ipv4";
|
|
|
+ if(op==PARAS_READ) {
|
|
|
+ r = iniparser_getint(dic, token, -1);
|
|
|
+ if(r==-1) {
|
|
|
+ LOGE("___ iniparser_getint %s failed\n", token);
|
|
|
+ return -1;
|
|
|
+ } else {
|
|
|
+ webcfg->ipv4 = r;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ sprintf(temp, "%d", webcfg->ipv4);
|
|
|
+ r = iniparser_set(dic, token, temp);
|
|
|
+ if(r) {
|
|
|
+ LOGE("___ iniparser_set %s failed\n", token);
|
|
|
+ return -1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ token = "webcfg:ipv6";
|
|
|
+ if(op==PARAS_READ) {
|
|
|
+ r = iniparser_getint(dic, token, -1);
|
|
|
+ if(r==-1) {
|
|
|
+ LOGE("___ iniparser_getint %s failed\n", token);
|
|
|
+ return -1;
|
|
|
+ } else {
|
|
|
+ webcfg->ipv6 = r;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ sprintf(temp, "%d", webcfg->ipv6);
|
|
|
+ r = iniparser_set(dic, token, temp);
|
|
|
+ if(r) {
|
|
|
+ LOGE("___ iniparser_set %s failed\n", token);
|
|
|
+ return -1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if(op==PARAS_READ) {
|
|
|
+ r = proc_webcfg(dic, PARAS_CHECK, webcfg);
|
|
|
+ }
|
|
|
+
|
|
|
+ return r;
|
|
|
+}
|
|
|
static int proc_ntp(char *path, int op, NTPManager *ntp)
|
|
|
{
|
|
|
int r=0;
|
|
|
@@ -3079,6 +3220,14 @@ static int ini_reset(paras_handle_t *h)
|
|
|
fprintf(fp, "brd_max = \"%d\"\n", info->ptotal.brdMax);
|
|
|
fprintf(fp, "\n");
|
|
|
|
|
|
+ fprintf(fp, "[webcfg]\n");
|
|
|
+ fprintf(fp, "monway = \"%d\"\n", info->webcfg.monway);
|
|
|
+ fprintf(fp, "netsw = \"%d\"\n", info->webcfg.netsw);
|
|
|
+ fprintf(fp, "nwire = \"%d\"\n", info->webcfg.nwire);
|
|
|
+ fprintf(fp, "ipv4 = \"%d\"\n", info->webcfg.ipv4);
|
|
|
+ fprintf(fp, "ipv6 = \"%d\"\n", info->webcfg.ipv6);
|
|
|
+ fprintf(fp, "\n");
|
|
|
+
|
|
|
fclose(fp);
|
|
|
|
|
|
sys_get_path(tmp, INI_FILE_BAK_NAME);
|