Wireshark-dev: Re: [Wireshark-dev] usbmon: size of different fields?
From: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
Date: Tue, 9 Nov 2010 10:05:37 -0500 (EST)
On Tue, 9 Nov 2010, [UTF-8] Németh Márton wrote:

> Hi,
> 
> I'm looking at the struct mon_bin_hdr and struct mon_bin_isodesc in file
> http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=drivers/usb/mon/mon_bin.c;h=44cb37b5a4dc1f9b27075e3db5346b9ebe307b22;hb=HEAD
> 
> As far as I understand u64, s64, u32 and s32 have always fixed bit lengths.

That's right.

> What about "unsigned char", "char", "unsigned int" and "int"? May their size in bits
> differ in different architecture?

char and unsigned char are always 8 bits.  int and unsigned int are 
always 32 bits.  long and unsigned long can be either 32 or 64 bits, 
depending on the architecture.

> I'm asking this because I was dealing with the USB packet dissectors for Wireshark
> and it is possible to capture the USB traffic on one computer and then transfer
> the file to another computer.

There shouldn't be any trouble with the field sizes.  The endianness
could cause a problem, though.

Alan Stern