// 多个blob管理数据结构structblob_buf {structblob_attr *head; // 指向blob_buf的开头,分配一个4字节的blob_attr(仅有id_len),记录已使用的len。最初时等于blob_buf->bufbool(*grow)(structblob_buf *buf,intminlen); //内存扩展回调函数intbuflen; //buf总长度void*buf; // 指向buf起始位置(开头)...
4:intblob_buf_init(structblob_buf *buf,intid) 5: 6:/** 7:* 销毁BLOB buffer 8:*/ 9:voidblob_buf_free(structblob_buf *buf) 10: 11:/** 12:* 从attr串中根据info策略过滤,得到的结果存储在data属性数组中 13:* 14:* @param attr 输入BLOB属性串 15:* @param data 输出BLOB属性数组 16...
blob_buf_init(&buf, 0); int data = 123; blobmsg_add_u32(&buf, "integer", data); struct blob_attr *msg = blobmsg_close_container(&buf); ``` 3. 解析消息中的blobmsg 在接收到消息后,我们可以使用blobmsg_parse函数来解析其中的blobmsg。例如,我们可以使用以下代码解析消息中的blobmsg: ``` str...
4:intblob_buf_init(structblob_buf *buf,intid) 5: 6:/** 7:* 销毁BLOB buffer 8:*/ 9:voidblob_buf_free(structblob_buf *buf) 10: 11:/** 12:* 从attr串中根据info策略过滤,得到的结果存储在data属性数组中 13:* 14:* @param attr 输入BLOB属性串 15:* @param data 输出BLOB属性数组 16...