00001
00002
00003
00004 #ifndef ENDIAN_H
00005 #define ENDIAN_H
00006
00007
00008 namespace endian
00009 {
00010 typedef unsigned short u16_t;
00011 typedef short s16_t;
00012 typedef unsigned int u32_t;
00013 typedef int s32_t;
00014 typedef float f32_t;
00015 typedef double f64_t;
00016
00017 template <typename T> T letoh (void const *f)
00018 {
00019 return (*((T *) f));
00020 }
00021
00022 template <typename T> void htole (T f, void const *t)
00023 {
00024 *((T *) t) = f;
00025 }
00026 };
00027
00028
00029 #endif