0

我正在为一个高级项目开发 Wireshark Dissector Generator。我已经阅读了一些内容,但对 ProtoField 对象中的 VoidString 对象有疑问。文档对这个特定值或它的用途不太清楚。

我们的生成器使用 C++,以便我们的客户可以在项目完成后对其进行修改。我在这里的另一个线程中读到它可以传递一个键值对表。此参数是否还有其他结构或信息用于?我们正在尝试创建一个数据结构来包含用户传递的文件的解析,并且我们正在尝试确定如何最好地制作这个对象。允许在此处传递模板对象会更好还是表格足够?

4

1 回答 1

1

我不确定是否了解您的需求,但根据 wireshark 源代码(wslua_proto_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. */

因此,表格将按照类型转换”并以基本表示形式打印。

于 2019-03-01T10:49:49.757 回答