Wireshark mailing list archives
Re: how to retrieve a guint32
From: Graham Bloice <graham.bloice () trihedral com>
Date: Mon, 24 Oct 2011 17:06:22 +0100
On 24/10/2011 16:49, Teto wrote:
Hi, I know it's a silly question but can't test it (refactoring of my plugin). I want to retrieve a 32 bits number but if I use tvb_get_bits32, I need to pass useless parameters (in my case) since I want to retrieve all 32 bits. guint32 tvb_get_bits32 ( tvbuff_t * tvb, gint bit_offset, const gint no_of_bits, const gboolean little_endian ); I guess you can use tvb_get_bits32 to retrieve 8 bits into a guint32 for example . Is that true ? tvb_get_letoh24 / tvb_get_letohl look more straightforward but I don't understand how they transform the number. letoh stands for "local to host" ? why the "24" ? I guess the last "l" in tvb_get_letohl is for little endian ? Regards Matt
The tvb accessors names indicate the endianess of the bytes in the packet, e.g. get_n* gets bytes in network format and get_le* get bytes in little endian, the "toh" part indicates the conversion will be done to the native host format, and any suffix indicates the number of bits to be retrieved from the tvb, e.g. "24" is obviously 24 bits, "l" is less obviously a long or 32 bits. So in your case you would use tvb_get_ntohl() or tvb_get_letohl() depending on the endianess of the bytes in your tvb. -- Regards, Graham Bloice ___________________________________________________________________________ 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-request () wireshark org?subject=unsubscribe
Current thread:
- how to retrieve a guint32 Teto (Oct 24)
- Re: how to retrieve a guint32 Graham Bloice (Oct 24)
- Re: how to retrieve a guint32 Guy Harris (Oct 24)
- Re: how to retrieve a guint32 Teto (Oct 25)