Structure layout in big/little endian modes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello all!

I have some lack of understanding how to write endianness independent
definition of structure, which contains bit fields.

For example, field, containing endpoint address in endpoint descriptor
of USB device, can be defined as follow:

struct EndpointAddress
{
    UnsignedByte EndpointNumber: 4;
    UnsignedByte: 3;
    UnsignedByte TransferDirection: 1;
};

All USB descriptors have little endian byte order (and filling
starting from least significant bit). If I would run some code which
uses such definition on big endian CPU, I will get incorrect result.

Can I tell GCC to use for layout big/little endian mode without manual
changing structure layout for target CPU?

-- 
With best regards, Vladimir


[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux