Yosi Saggi <yosis@...> writes: > I have a payload that its size is 42 bits. I am getting it from the TVB in little Endian. > I have no problem displaying the whole payload as big endian with a guint 64bit variable: > > guint32 f2_val1, f2_val2; > guint64 f2_val; > > f2_val1 = tvb_get_letohl(tvb, *plen) > f2_val2 = tvb_get_letohl(tvb, (*plen+4)); > f2_val = f2_val1; > f2_val= (f2_val<<32); > f2_val = f2_val|f2_val2;
Why not just grab your 64-bit value like this? f2_val = tvb_get_letoh64(tvb, *plen); ... and if this thing is really only 42 bits, then you probably need to mask off some of the irrelevant bits and/or shift as necessary. > Are threr any suggestions what can I use to display it correctly. As I have seen that “proto_tree_add_bits_ret_val”, although having a “big endian/little endian” operand, that “little endian” is not implemented yet. Correct. tvb_get_bits[16|32|64] are not yet implemented for little-endian. > Any help/insight would be much appreciated Until little-endian support for those functions is added, you likely need to shift/mask the f2_val to obtain the individual pieces you need, then add them each separately to the tree using other appropriate proto_tree_add_xyz() functions, such as proto_tree_add_uint(), etc. ___________________________________________________________________________ Sent via: Wireshark-dev mailing list <wireshark-dev@wireshark.org> Archives: http://www.wireshark.org/lists/wireshark-dev Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev mailto:wireshark-dev-requ...@wireshark.org?subject=unsubscribe