Wireshark mailing list archives
Re: need to read three bytes of offset
From: Jakub Zawadzki <darkjames () darkjames ath cx>
Date: Thu, 4 Mar 2010 23:35:41 +0100
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.
Some code: #include <stdio.h> #include <string.h> #include <netinet/in.h> int main() { unsigned char buf[3] = { 0x01, 0x02, 0x03 }; unsigned int val; unsigned int proper; /* your code if I understood it correctly... */ memset(&val, 0, sizeof(val)); memcpy(&val, buf, sizeof(buf)); val = ntohl(val); printf("%10d %.8x\n", val, val); /* easier one :) */ proper = buf[0] << 16 | buf[1] << 8 | buf[2]; printf("%10d %.8x\n", proper, proper); return 0; } results on LE machine: #v+ 16909056 01020300 (16909056 >= 2^24 -- doesn't fit in 3 bytes!!!) 66051 00010203 #v- If you need also signed int24, you need to do more stuff :) (expand sign?) Btw. It's *wireshark*-dev list, why do you ask C/pcap related questions here? I think there're lot more approporiate newsgroups for these kind of questions. We would avoid confusion, when you ask question and you're getting reply how to do things in wireshark api :) Cheers. ___________________________________________________________________________ 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:
- Re: need to read three bytes of offset, (continued)
- Re: need to read three bytes of offset Guy Harris (Mar 04)
- Re: need to read three bytes of offset prashanth joshi (Mar 04)
- Re: need to read three bytes of offset Guy Harris (Mar 04)
- Re: need to read three bytes of offset prashanth s (Mar 04)
- Re: need to read three bytes of offset Guy Harris (Mar 04)
- Re: need to read three bytes of offset prashanth joshi (Mar 04)
- Re: need to read three bytes of offset Guy Harris (Mar 04)
- Re: need to read three bytes of offset prashanth s (Mar 04)
- Re: need to read three bytes of offset Maynard, Chris (Mar 04)
- Re: need to read three bytes of offset prashanth s (Mar 04)
- Re: need to read three bytes of offset Jakub Zawadzki (Mar 04)
- Re: need to read three bytes of offset Guy Harris (Mar 04)
- Re: need to read three bytes of offset prashanth joshi (Mar 04)
- Re: need to read three bytes of offset Guy Harris (Mar 04)
- Re: need to read three bytes of offset prashanth s (Mar 04)