C++ Wireshark剖析器空字符串类型

C++ Wireshark剖析器空字符串类型,c++,lua,wireshark,kali-linux,C++,Lua,Wireshark,Kali Linux,我正在为一个高级项目开发Wireshark解剖器生成器。我读了一些书,但对ProtoField对象中的VoidString对象有一个问题。对于这个特殊的值或者它的用途,我们并不太清楚 我们的生成器使用C++,这样我们的客户端可以在项目完成后修改它。我在另一个线程中读到,它可以被传递一个键、值对表。此参数是否用于其他结构或信息?我们试图创建一个数据结构来包含用户传递的文件的解析,并试图确定如何最好地创建这个对象。允许在此处传递模板对象更好吗,还是表足够了?我不确定是否理解您的需要,但根据wires

我正在为一个高级项目开发Wireshark解剖器生成器。我读了一些书,但对ProtoField对象中的VoidString对象有一个问题。对于这个特殊的值或者它的用途,我们并不太清楚


<>我们的生成器使用C++,这样我们的客户端可以在项目完成后修改它。我在另一个线程中读到,它可以被传递一个键、值对表。此参数是否用于其他结构或信息?我们试图创建一个数据结构来包含用户传递的文件的解析,并试图确定如何最好地创建这个对象。允许在此处传递模板对象更好吗,还是表足够了?

我不确定是否理解您的需要,但根据wireshark源代码(wslua\u proto\u fields.c),VoidString参数的定义是:

#define WSLUA_OPTARG_ProtoField_new_VALUESTRING 4 /* A table containing the text that
    corresponds to the values, or a table containing unit name for the values if base is
    `base.UNIT_STRING`, or one of `frametype.NONE`, `frametype.REQUEST`, `frametype.RESPONSE`,
    `frametype.ACK` or `frametype.DUP_ACK` if field type is ftypes.FRAMENUM. */
因此,表格将按照类型“强制转换”,并以基本表示形式打印