+2006-08-06 Andreas Dilger <adilger@clusterfs.com>
+
+ * bitops.h (ext2fs_cpu_to_le32, ext2fs_le64_to_cpu,
+ ext2fs_swab64): Add 64-bit byte swapping functions
+
2006-08-05 Theodore Tso <tytso@mit.edu>
* ext2_fs.h (EXT4_EXTENTS_FL): Rename EXT3_EXTENTS_FL to
extern __u32 ext2fs_swab32(__u32 val);
#ifdef WORDS_BIGENDIAN
+#define ext2fs_cpu_to_le64(x) ext2fs_swab64((x))
+#define ext2fs_le64_to_cpu(x) ext2fs_swab64((x))
#define ext2fs_cpu_to_le32(x) ext2fs_swab32((x))
#define ext2fs_le32_to_cpu(x) ext2fs_swab32((x))
#define ext2fs_cpu_to_le16(x) ext2fs_swab16((x))
#define ext2fs_cpu_to_be16(x) ((__u16)(x))
#define ext2fs_be16_to_cpu(x) ((__u16)(x))
#else
+#define ext2fs_cpu_to_le64(x) ((__u64)(x))
+#define ext2fs_le64_to_cpu(x) ((__u64)(x))
#define ext2fs_cpu_to_le32(x) ((__u32)(x))
#define ext2fs_le32_to_cpu(x) ((__u32)(x))
#define ext2fs_cpu_to_le16(x) ((__u16)(x))
}
#endif
+_INLINE_ __u64 ext2fs_swab64(__u64 val)
+{
+ return (ext2fs_swab32(val >> 32) |
+ (((__u64)ext2fs_swab32(val & 0xFFFFFFFFUL)) << 32));
+}
+
#undef EXT2FS_ADDR
#endif /* i386 */