00001 00002 #ifndef __packed_h__ 00003 #define __packed_h__ 00004 00005 #include <crbn/basic/basic.h> 00006 00007 typedef union packed { 00008 struct { 00009 double d_1; 00010 double d_2; 00011 }; 00012 struct { 00013 uint64 u64_1; 00014 uint64 u64_2; 00015 }; 00016 struct { 00017 int64 i64_1; 00018 int64 i64_2; 00019 }; 00020 struct { 00021 float f_1; 00022 float f_2; 00023 float f_3; 00024 float f_4; 00025 }; 00026 struct { 00027 uint32 u32_1; 00028 uint32 u32_2; 00029 uint32 u32_3; 00030 uint32 u32_4; 00031 }; 00032 struct { 00033 int32 i32_1; 00034 int32 i32_2; 00035 int32 i32_3; 00036 int32 i32_4; 00037 }; 00038 struct { 00039 uint16 u16_1; 00040 uint16 u16_2; 00041 uint16 u16_3; 00042 uint16 u16_4; 00043 uint16 u16_5; 00044 uint16 u16_6; 00045 uint16 u16_7; 00046 uint16 u16_8; 00047 }; 00048 struct { 00049 int16 i16_1; 00050 int16 i16_2; 00051 int16 i16_3; 00052 int16 i16_4; 00053 int16 i16_5; 00054 int16 i16_6; 00055 int16 i16_7; 00056 int16 i16_8; 00057 }; 00058 struct { 00059 uint8 u8_1; 00060 uint8 u8_2; 00061 uint8 u8_3; 00062 uint8 u8_4; 00063 uint8 u8_5; 00064 uint8 u8_6; 00065 uint8 u8_7; 00066 uint8 u8_8; 00067 uint8 u8_9; 00068 uint8 u8_10; 00069 uint8 u8_11; 00070 uint8 u8_12; 00071 uint8 u8_13; 00072 uint8 u8_14; 00073 uint8 u8_15; 00074 uint8 u8_16; 00075 }; 00076 struct { 00077 int8 i8_1; 00078 int8 i8_2; 00079 int8 i8_3; 00080 int8 i8_4; 00081 int8 i8_5; 00082 int8 i8_6; 00083 int8 i8_7; 00084 int8 i8_8; 00085 int8 i8_9; 00086 int8 i8_10; 00087 int8 i8_11; 00088 int8 i8_12; 00089 int8 i8_13; 00090 int8 i8_14; 00091 int8 i8_15; 00092 int8 i8_16; 00093 }; 00094 }; 00095 00096 #endif // __packed_h__