如何使用C API来操作UCI
https://forum.openwrt.org/viewtopic.php?pid=183335#p183335
Compiling UCI as stand alone with an example using the C API
1. Compiling UCI as stand alone
cd ~
git clone git://nbd.name/uci.git ~/uci
cd ~/uci
cmake -DBUILD_LUA=off .
make install DESTDIR=$HOME
2. Example code using the UCI C API
~/uci/main.c
#include <stdio.h>
#include <string.h>
#include <uci.h>
#include <stdlib.h>
int main (int argc, char **argv)
{
  struct uci_context *c;
  struct uci_ptr p;
  char *a = strdup ("wireless.@wifi-iface[0].ssid");
  c = uci_alloc_context ();
  if (uci_lookup_ptr (c, &p, a, true) != UCI_OK)
    {
      uci_perror (c, "XXX");
      return 1;
    }
  printf("%s\n", p.o->v.string);
  uci_free_context (c);
  free (a);
  return 0;
}
3. Compile the example
cc -I$HOME/usr/include -L$HOME/usr/lib main.c -luci -o uci-test
4. Run the compiled example binary
export LD_LIBRARY_PATH=$HOME/usr/lib
./uci-test
XXX: Entry not found
heloc
使用过程中发现一个比较奇怪的问题,
static int config_file_read(struct _options *opt)
{
struct uci_context *ctx;
struct uci_ptr ptr;
char a[];
int i; ctx = uci_alloc_context(); memset(a, , sizeof(a));
printf("1234....\n");
strcpy(a, "scws.wsn.netid");
printf("a(L=%d) = %s\n", strlen(a), a);
执行之后似乎strcpy只能拷贝.之前的几个字符,将uci_alloc_context调到strcpy之后就可以了,再把它调回来又不再出现这样的问题了!很奇怪。
这样应用可以:

如何使用C API来操作UCI的更多相关文章
- InfluxDB学习之InfluxDB的HTTP API查询操作
		
在 InfluxDB学习 的上一篇文章:InfluxDB学习之InfluxDB的HTTP API写入操作 中,我们介绍了使用InfluxDB的HTTP API进行数据写入操作的过程,本文我们再来介绍下 ...
 - InfluxDB学习之InfluxDB的HTTP API写入操作
		
HTTP API也有两种操作:写入和查询,本文就先给大家介绍一下 InfluxDB的HTTP API的写入操作方式. 在InfluxDB学习的上一篇文章:InfluxDB学习之InfluxDB ...
 - 利用Fiddler修改请求信息通过Web API执行操作(Action)实例
		
本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复261或者20170724可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong.me ...
 - Hadoop基础-HDFS的API常见操作
		
Hadoop基础-HDFS的API常见操作 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本文主要是记录一写我在学习HDFS时的一些琐碎的学习笔记, 方便自己以后查看.在调用API ...
 - Hadoop生态圈-Hbase的API常见操作
		
Hadoop生态圈-Hbase的API常见操作 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.
 - [原创] Delphi Win API函数 操作帮助文件 HtmlHelpA函数介绍
		
Delphi Win API函数 操作帮助文件 HtmlHelpA函数介绍 函数原型:HWND HtmlHelpA( HWND hwndCaller, LPCSTR pszFile, UINT uCo ...
 - Phoenix简介概述,Phoenix的Java API 相关操作优秀案例
		
Phoenix简介概述,Phoenix的Java API 相关操作优秀案例 一.Phoenix概述简介 二.Phoenix实例一:Java API操作 2.1 phoenix.properties 2 ...
 - 抛弃jQuery:DOM API之操作元素
		
原文链接:http://blog.garstasio.com/you-dont-need-jquery/dom-manipulation/ 我的Blog:http://cabbit.me/you-do ...
 - 用javacsv API 来操作csv文件
		
javacsv是国外开发的一个比较好的操作csv文件的API,这里简单讲一下用法. 先下载javacsv2.0.zip的文件,解压后,把javacsv.jar 添加到项目中. 本站下载地址: htt ...
 
随机推荐
- 关于int全区变量读写的原子性
			
关于int全区变量读写的原子性 关于int变量的读写是否原子性网上有非常多讨论,貌似不同平台不同,这里自己做实如今arm9平台測试.这里要注意原子性并不是指一条汇编才原子,实际上即使一次赋值编 ...
 - Oracle左连接、右连接、全外连接以及(+)号用法(转)
			
+:与附带的字段相连,和“+”相连的字段值,不管是否存在,都会展示 也就是带上相连接的字段 有数据了就显示,没数据就显示为null Oracle 外连接(OUTER JOIN) 左外连接(左边的表不 ...
 - linux编curlDLL库so
			
转载请注明出处:帘卷西风的专栏(http://blog.csdn.net/ljxfblog) curl库是一个非常强大的http开源库.c++里面可以非常方便的和httpserver交互. 近期项目開 ...
 - wikioi 1034 家 实时动态的网络流量(费用流)
			
因为随着时间的推移.网络侧变得,因此,常见的网络流量也解决不了这个问题,.如果T毕竟运输时间. 为此.我们可以基于时间分割点,所有的点将被分割为T点. 对于每一个点,下一次甚至一个容量为本人INF边缘 ...
 - 定制XP引导屏幕背景图像和替换windows这句话
			
(一)带滚动条界面变化 1.制作640*480位图,4位置16肤色,尺寸小于200Kb. 2.位图名boot.bmp,并将其复制到C:/windows根文件夹 3.更改boot.ini档.我的电脑/属 ...
 - Android读取JSON格式数据
			
Android读取JSON格式数据 1. 何为JSON? JSON,全称为JavaScript Object Notation,意为JavaScript对象表示法. JSON 是轻量级的文本数据交换格 ...
 - Hibernate各保存方法之间的差 (save,persist,update,saveOrUpdte,merge,flush,lock)等一下
			
hibernate保存 hibernate要保存的目的是提供一个方法,多.它们之间有许多不同之处,点击此处详细说明.使得差: 一.预赛: 在所有.阐释.供hibernate,,transient.p ...
 - jQuery - 基于serializeArray的serializeObject
			
将表单序列化成JSON对象,注意不管是自实现的serializeObject()还是原生的serializeArray(),所要序列化的控件都必须要有name,而不是id jQuery.prototy ...
 - ASP.NET MVC 使用TryUpdateModel 更新的技巧
			
有使用 ASP.NET MVC 的朋友應該會對於 TryUpdateModel 有一定的認知,他不但可以利用 Metadata 來做欄位的驗證確保資料的正確性,也可以指定更新的條件以及不更新的條件來達 ...
 - js中arguments
			
arguments 每天一对象,JS天天见,今天我们来看看arguments对象及属性.arguments对象不能显式创建,arguments对象只有函数开始时才可用.函数的 arguments 对象 ...