#ifndef __STRUC_H
#define __STRUC_H

#ifdef __cplusplus
extern "C" {
#endif

typedef union
{
	struct      
	{
		unsigned char bit0:	1;
		unsigned char bit1:	1;
		unsigned char bit2:	1;
		unsigned char bit3:	1;
		unsigned char bit4:	1;
		unsigned char bit5:	1;
		unsigned char bit6:	1;
		unsigned char bit7:	1;

	} bit;

	struct
	{
	    unsigned char quad_0	:4;
	    unsigned char quad_1	:4;

	} qua;

	unsigned char all;

} BAITE; 

typedef union
{
	struct      
	{
		unsigned short int bit0:	1;
		unsigned short int bit1:	1;
		unsigned short int bit2:	1;
		unsigned short int bit3:	1;
		unsigned short int bit4:	1;
		unsigned short int bit5:	1;
		unsigned short int bit6:	1;
		unsigned short int bit7:	1;
		unsigned short int bit8:	1;
		unsigned short int bit9:	1;
		unsigned short int bitA:	1;
		unsigned short int bitB:	1;
		unsigned short int bitC:	1;
		unsigned short int bitD:	1;
		unsigned short int bitE:	1;
		unsigned short int bitF:	1;

	} bit;

	struct
	{
	    unsigned short int quad_0	:4;
	    unsigned short int quad_1	:4;
	    unsigned short int quad_2	:4;
	    unsigned short int quad_3	:4;

	} qua;

	struct
	{
	    unsigned short int byte_0	:8;
	    unsigned short int byte_1	:8;

	} byt;

	unsigned short int all;

} WORDE; 

typedef union
{
	struct      
	{
		unsigned int bit00:	1;
		unsigned int bit01:	1;
		unsigned int bit02:	1;
		unsigned int bit03:	1;
		unsigned int bit04:	1;
		unsigned int bit05:	1;
		unsigned int bit06:	1;
		unsigned int bit07:	1;
		unsigned int bit08:	1;
		unsigned int bit09:	1;
		unsigned int bit0A:	1;
		unsigned int bit0B:	1;
		unsigned int bit0C:	1;
		unsigned int bit0D:	1;
		unsigned int bit0E:	1;
		unsigned int bit0F:	1;
		unsigned int bit10:	1;
		unsigned int bit11:	1;
		unsigned int bit12:	1;
		unsigned int bit13:	1;
		unsigned int bit14:	1;
		unsigned int bit15:	1;
		unsigned int bit16:	1;
		unsigned int bit17:	1;
		unsigned int bit18:	1;
		unsigned int bit19:	1;
		unsigned int bit1A:	1;
		unsigned int bit1B:	1;
		unsigned int bit1C:	1;
		unsigned int bit1D:	1;
		unsigned int bit1E:	1;
		unsigned int bit1F:	1;

	} bit;

	struct
	{
	    unsigned int quad_0	:4;
	    unsigned int quad_1	:4;
	    unsigned int quad_2	:4;
	    unsigned int quad_3	:4;
	    unsigned int quad_4	:4;
	    unsigned int quad_5	:4;
	    unsigned int quad_6	:4;
	    unsigned int quad_7	:4;

	} qua;

	struct
	{
	    unsigned int byte_0	:8;
	    unsigned int byte_1	:8;
	    unsigned int byte_2	:8;
	    unsigned int byte_3	:8;

	} byt;

	struct
	{
	    unsigned int word_0	:16;
	    unsigned int word_1	:16;

	} wrd;

	unsigned int all;

} LONGE; 

#ifdef __cplusplus
}
#endif

#endif
