On Thu, 8 Feb 2007, Sergei Organov wrote: > Unfortunately I can't have the correct type for this field in C (it > should be "2-bytes-little-endian-unsigned-integer-unaligned"), so I > can't get type-safety here anyway. Declaring this field __le16 is IMHO a > poor attempt as it creates an illusion of type safety when in fact there > is no type safety guaranteed.
The real question is to what extent attributes like ((aligned(N))) should be considered part of the type as opposed to something just tacked on. I don't know how the GCC people feel about this sort of thing. From a higher-level (source code) point of view, the alignment doesn't affect the set of operations which can be applied to the data type. In the lower-level (object code) view, it does. (By the way, notice that there isn't even any standard type name for "2-bytes-little-endian-signed-integer" -- although you could easily make up your own.) Alan Stern ------------------------------------------------------------------------- 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