Re: PATCH: usb: descriptor structures have to be packed

Oliver Neukum <[email protected]>
Newsgroups gmane.linux.usb.devel
Organization Novell
Message-ID <[email protected]>
Am Mittwoch, 7. Februar 2007 08:00 schrieb David Brownell:
> > In scope of (1) i can't understand: structs are padded implicitly,
> > member access is coded explicitly.
> 
> But the struct declarations in question are not memory layouts.
> 
> They're "on-the-wire" protocol structures, where the compiler
> has exactly ZERO business changing anything.  When the protocol
> spec says the field starts at byte three, that's where it starts.
> Regardless of whether, as a 16 bit field, it might trigger fewer
> alignment issues if byte three held padding instead, and that
> field started at byte 4 ...

Exactly. The problem with packed is that it really does two things.
1. Disallow any padding
2. Assume the structure may be in unaligned memory

Issue number #1 is usually handled by the USB specification.
#2 is not. Therefore packed data structures will make inferior code
even in the case we alloc the data structure ourselves.


> those developer communities differed is that the Internet stack
> is big-endian, while USB is little-endian.)

Intel being a major member of that group might be rather persuasive :-)

	Regards
		Oliver

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.