util: Add functions to do 64 bits endiannes conversion
authorLucas De Marchi <lucas.demarchi@intel.com>
Thu, 22 Aug 2013 20:27:02 +0000 (17:27 -0300)
committerLucas De Marchi <lucas.demarchi@intel.com>
Mon, 26 Aug 2013 22:19:08 +0000 (19:19 -0300)
src/lib/shared/util.h

index 762a458..23ba004 100644 (file)
     })
 
 #if __BYTE_ORDER == __LITTLE_ENDIAN
+static inline uint64_t get_le64(const void *ptr)
+{
+       return get_unaligned((const uint64_t *) ptr);
+}
+
+static inline uint64_t get_be64(const void *ptr)
+{
+       return bswap_64(get_unaligned((const uint64_t *) ptr));
+}
+
 static inline uint32_t get_le32(const void *ptr)
 {
        return get_unaligned((const uint32_t *) ptr);
@@ -60,6 +70,15 @@ static inline uint16_t get_be16(const void *ptr)
 }
 
 #elif __BYTE_ORDER == __BIG_ENDIAN
+static inline uint64_t get_le64(const void *ptr)
+{
+       return bswap_64(get_unaligned((const uint64_t *) ptr));
+}
+
+static inline uint64_t get_be64(const void *ptr)
+{
+       return get_unaligned((const uint64_t *) ptr);
+}
 
 static inline uint32_t get_le32(const void *ptr)
 {