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

Reply via email to