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

Sergei Organov <[email protected]>
Newsgroups gmane.linux.usb.devel
Message-ID <[email protected]>
Alan Stern <[email protected]> writes:
> 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.

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?

-- 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
_______________________________________________
[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.