openwrt中通過uci 系統儲存的引數都存放在/etc/config/
目錄下面,儲存引數的具體檔案與使用者自己的使用的commit語句中引數有關。
例如:uci commit system
該語句儲存配置的檔案就在/etc/config/system
配置引數的儲存的按照一定格式儲存例:
config wifidetect 'servercfg'
option device_id '123456'
option servernumber '1'
以上引數可通過uci 語句uci set system.servercfg.device_id=***
設定。
請注意引數的儲存和格式,每行儲存乙個引數,且引數格式滿足option空格$空格'$'
,所以為了精確的找到值我們只需要每次取一行去匹配字串就好。**如下:
int
get_para_from_string
(const
char
* data,
const
char
* name,
char
* val,
const
int maxlen)
;char
*start =
null;if
(val ==
null
)return-1
;sprintf
(key_name,
" %s \'"
, name)
;//config file key styleif(
(start =
strstr
(data, key_name))==
null
)return-1
; i =0;
start = start +
strlen
(key_name)
;while
(start[i]
!='\''
&& start[i]
!='\0'
)//printf("%s=%s\n", name, val);
if(i ==0)
return-1
;else
return0;
}#define system_config_file_usr '/etc/config/system'
intget_sys_config
(void);
int num_data =0;
sys_config =
fopen
(system_config_file_usr,
"r");if
(sys_config ==
null
)while(!
feof
(sys_config)
)elseif(
get_para_from_string
(readtmpdata,
"port"
, tmp_str,32)
==0)}
fclose
(sys_config)
;return0;
}
openwrt新手 uci 設定網路命令
openwrt使用命令列設定無線和有線網路 在我們將 路由器韌體刷成開源的基於linux核心的openwrt系統後,由於openwrt預設未安裝web管理介面,所以我們需要先通過ssh或者telnet對路由器進行網路設定,設定完成後可通過openwrt的軟體包管理opkg安裝web設定介面luci。...
openwrt 使用uci命令設定WiFi引數
uci set wireless.ra0 wifi device uci set wireless.ra0.type ralink uci set wireless.ra0.mode 9 uci set wireless.ra0.channel auto uci set wireless.ra0.t...
c程式使用uci配置檔案
uci 是openwrt為實現配置集中化而引入的乙個軟體包,通過修改uci,可以實現對openwrt的絕對部分配置的修改.luci openwrt 的web配置介面 也是通過讀uci配置檔案的操作來實現使用者對路由的配置的。通過掌握uci的api的使用,可以方便地將您的軟體的配置介面整合到luci中...