Oh, then it looks correct to write a function that reads 3 bytes int value from pacp / wire and convert it to an int? This is what I have done: I read the three bytes from the pcap in to an array of three bytes. And then I memcpy these 3 bytes from array to an int variable(which has been memset with 0's) And then I do a ntohl on this int variable and return it as an int.
Thanks Guy Harris, Regards, Prashanth On Fri, Mar 5, 2010 at 2:17 AM, Guy Harris <[email protected]> wrote: > > On Mar 4, 2010, at 12:42 PM, prashanth joshi wrote: > > > thanks for the clarification. > > I was writing a function to read such 3 byte values and convert them to > int. Unaware that uint24 field is supported in C (I have seen uint24 field > only in wireshark). > > Now I am using the uint24 type. > > Standard C doesn't have a uint24 data type (even C99 doesn't have > uint24_t). I suppose if you're using C on the Datacraft/Harris machines (no > relation): > > http://bolt.beetlebolt.com/blog/?m=200706 > > you'd have a 24-bit data type, but most if not all machines capable of > running Wireshark have 8-bit bytes and 32-bit or 64-bit registers. > > Wireshark supports 24-bit integral-valued fields - but you put the values > into 32-bit variables. > ___________________________________________________________________________ > Sent via: Wireshark-dev mailing list <[email protected]> > Archives: http://www.wireshark.org/lists/wireshark-dev > Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev > mailto:[email protected]?subject=unsubscribe >
___________________________________________________________________________ Sent via: Wireshark-dev mailing list <[email protected]> Archives: http://www.wireshark.org/lists/wireshark-dev Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev mailto:[email protected]?subject=unsubscribe
