openwrt中uci配置引數讀取

2021-09-24 20:30:47 字數 1694 閱讀 3292

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中...