Alan Stern <[EMAIL PROTECTED]> writes: > On Thu, 8 Feb 2007, Sergei Organov wrote: > >> IMHO aligned(N) should be used in portable code only to *increase* >> alignment (this effectively excludes usage of 'packed'), and then the >> alignment won't affect the low-level operations, that automatically >> answers your question. Simple? > > If you don't consider the alignment attribute to be part of the type, then > you can indeed express "16-bit-little-endian-unsigned-integer-unaligned" > as a C type. In fact __le16 expresses it perfectly all except for the > "unaligned" part, which you agree doesn't belong in the type.
It is not me who suggests using of __le16 fields inside "packed" structures, and it's that usage that demands putting of "unaligned" attribute into the type. This demand just can't be satisfied in C. If somebody ever comes up with a sane way to have [mis]alignment information in the type, then I'll probably reconsider my position, even though I do currently think that "unaligned" doesn't belong to the type. For now, my point is that one shouldn't use "packed" in the first place, and then the alignment problem just vanishes, as there is no demand to have "unaligned" in the type in this case. It's easier not to create the problem than to solve it ;) -- Sergei. ------------------------------------------------------------------------- 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 _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel