// Segment Is Structs.c
// Last Revision On 13 Jun 2019

struct Bits
{
 unsigned int B00   :1;
 unsigned int B01   :1;
 unsigned int B02   :1;
 unsigned int B03   :1;
 unsigned int B04   :1;
 unsigned int B05   :1;
 unsigned int B06   :1;
 unsigned int B07   :1;
 unsigned int B08   :1;
 unsigned int B09   :1;
 unsigned int B10   :1;
 unsigned int B11   :1;
 unsigned int B12   :1;
 unsigned int B13   :1;
 unsigned int B14   :1;
 unsigned int B15   :1;
 unsigned int B16   :1;
 unsigned int B17   :1;
 unsigned int B18   :1;
 unsigned int B19   :1;
 unsigned int B20   :1;
 unsigned int B21   :1;
 unsigned int B22   :1;
 unsigned int B23   :1;
 unsigned int B24   :1;
 unsigned int B25   :1;
 unsigned int B26   :1;
 unsigned int B27   :1;
 unsigned int B28   :1;
 unsigned int B29   :1;
 unsigned int B30   :1;
 unsigned int B31   :1;
};

struct Crumbs
{
 unsigned int C00   :2;
 unsigned int C01   :2;
 unsigned int C02   :2;
 unsigned int C03   :2;
 unsigned int C04   :2;
 unsigned int C05   :2;
 unsigned int C06   :2;
 unsigned int C07   :2;
 unsigned int C08   :2;
 unsigned int C09   :2;
 unsigned int C10   :2;
 unsigned int C11   :2;
 unsigned int C12   :2;
 unsigned int C13   :2;
 unsigned int C14   :2;
 unsigned int C15   :2;
}; 

struct Nibbles
{
 unsigned int N0    :4;
 unsigned int N1    :4;
 unsigned int N2    :4;
 unsigned int N3    :4;
 unsigned int N4    :4;
 unsigned int N5    :4;
 unsigned int N6    :4;
 unsigned int N7    :4;
};

struct Bytes
{
 unsigned int B0    :8;
 unsigned int B1    :8;
 unsigned int B2    :8;
 unsigned int B3    :8;
};

struct Words
{
 unsigned int W0;
 unsigned int W1;
};

struct Longs
{
 unsigned long L0;
};

union Common
{
   struct Longs     Long;
   struct Bits      Bit;
   struct Crumbs    Crumb;
   struct Nibbles   Nibble;
   struct Bytes     Byte;
   struct Words     Word;
}; 


