使用uci的C API获得和修改参数

本文介绍了如何在openwrt的DESIGNATED DRIVER版本中,利用uci C API来获取和修改WiFi参数,特别是SSID。在尝试修改SSID时遇到问题,虽然uci_set和uci_commit返回成功,但实际修改并未生效。
摘要由CSDN通过智能技术生成

openwrt版本:DESIGNATED DRIVER (Bleeding Edge, r49395)


【读wifi参数中的ssid】

int getWirelessCfgValue(char *name,char *value, int valueBufLen)
{
    if (NULL == name || NULL == value)
    {
        return RC_PROC_FAIL;
    }

	struct uci_context * uciCtx = uci_alloc_context();
	char * pValueData = NULL;
    struct uci_package * pkg = NULL;  
    struct uci_element * e;
	const char * NETWORK_UCI_CFG_NAME = "wireless";

	if (UCI_OK != uci_load(uciCtx, NETWORK_UCI_CFG_NAME, &pkg))  
        goto cleanup;
  
    uci_foreach_element(&pkg->sections, e)  
    {  
        struct uci_section *s = uci_to_section(e);  
        if (NULL != (pValueData = uci_lookup_option_string(uciCtx, s, name)))  
        {
		    strncpy(value, pValueData, valueBufLen);
			printf("get wireless cfg ok, %s: %s\n", name, value);
        }
    }  
	
    uci_unload(uciCtx, pk
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值