Hi,

the last parameter of proto_tree_add_item() function /which you probably
use to add field into the tree/ indicates if ineger field is little or
big endian. Fot little endian (your case) it has to be TRUE.

You should use e.g. FT_BYTES for your data field, it has variable
length.


-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of li yang
Sent: Friday, April 27, 2007 5:02 AM
To: [email protected]
Subject: [Wireshark-dev] Question for how to show the value of Length
rightin wireshark plugin

Hi,All
    I just start how to write a plugin for own protocal in wireshark
and meet a problem
    Our protocal is based on ethernet and looks like this
    | Length |  Data |  CRC   |

    The length field hold 2 bytes and stands for the length of the data,
    eg, if value is 0x B6 01 , should means the value is 0x 01B6 (438
in decimal)

    I code like followed
        { &hf_foo_length,
        { "foo Length",           "foo.length",
        FT_UINT16, BASE_DEC_HEX, NULL, 0x0,
        "", HFILL }
        },

        { &hf_foo_data,
        { "foo Data",   "foo.data",     
        FT_UINT16, BASE_HEX,    NULL, 0x0,
        "", HFILL }},

        { &hf_rdc_crc,
        { "foo CRC",           "foo.crc",
        FT_UINT32, BASE_DEC, NULL, 0x0,
        "", HFILL }
        }

  I can get the right value in dissect_foo( ) via the followed code.
    data_length = tvb_get_letohs(tvb, offset);

But in the tree view,
1> It always should the Length value is 0xB601 (46593 in decimal)
2> can not show the data field rightly.

So,
1> How could I slove this problem?
2> How could I declare the data in the hf_register_info structure if
the data's length is changeable.

Thanks!!!
_______________________________________________
Wireshark-dev mailing list
[email protected]
http://www.wireshark.org/mailman/listinfo/wireshark-dev
_______________________________________________
Wireshark-dev mailing list
[email protected]
http://www.wireshark.org/mailman/listinfo/wireshark-dev

Reply via email to