Wireshark Dissector тип VoidString

Я работаю над Wireshark Dissector Generator для старшего проекта. Я немного читал, но у меня был вопрос об объекте VoidString в объекте ProtoField. В документации не было слишком четкого представления об этом конкретном значении или для чего оно используется.

Наш генератор использует C++, чтобы наш клиент мог изменить его после завершения проекта. Я читал в другом потоке, что здесь можно передать таблицу пар ключ-значение. Существуют ли другие структуры или информация, для которой этот параметр используется? Мы пытаемся создать структуру данных, которая будет содержать анализ файла, переданного пользователем, и мы пытаемся определить, как лучше всего создать этот объект. Было бы лучше, чтобы вместо этого здесь передавался объект шаблона или достаточно таблицы?

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. */

Таким образом, таблица будет "приведена" по типу и напечатана в базовом представлении.

Другие вопросы по тегам