[PATCH] 13/13 e2fsprogs-swab64 - add 64-bit swabbing function
Andreas Dilger <[email protected]> Wed, 2 Aug 2006 11:02:47 -0600
| Newsgroups | gmane.comp.file-systems.ext2.devel |
|---|---|
| Message-ID | <[email protected]> |
Add 64-bit swabbing functions.
Index: e2fsprogs/lib/ext2fs/bitops.h
===================================================================
--- e2fsprogs.orig/lib/ext2fs/bitops.h 2006-04-05 01:48:42.000000000 -0600
+++ e2fsprogs/lib/ext2fs/bitops.h 2006-07-10 11:35:27.000000000 -0600
@@ -23,6 +23,8 @@ extern __u16 ext2fs_swab16(__u16 val);
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))
@@ -32,6 +34,8 @@ extern __u32 ext2fs_swab32(__u32 val);
#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))
@@ -286,6 +290,12 @@ _INLINE_ __u16 ext2fs_swab16(__u16 val)
}
#endif
+_INLINE_ __u64 ext2fs_swab64(__u64 val)
+{
+ return (ext2fs_swab32(val >> 32) |
+ (((__u64)ext2fs_swab32(val & 0xFFFFFFFFUL)) << 32));
+}
+
#undef EXT2FS_ADDR
#endif /* i386 */
Cheers, Andreas
--
Andreas Dilger
Principal Software Engineer
Cluster File Systems, Inc.
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV