摘要: 如何定义变长tlv结构体TLV是一种常用的用于通信的结构体格式。T表示tag,L表示length,V表示value。其中T和L是固定大小的,V是可变大小,L表示的是V的长度。通常用于结构化网络通信中的数据流。如0x3 3 'aa\0',0x3 5 'aaaa\0',其中0x3表示tag的值,3 or 5表示的是后面的字符串的长度。由于V是可变长度的,所以在定义TLV结构时,需要将V定义成为可变大小。可定义如下:struct TLV{ uint8_t tag; uint16_t len; char value[0];}__attribute__((packed)) 阅读全文
posted @ 2012-12-27 00:02 庄庄庄 阅读(1368) 评论(0) 推荐(0) 编辑