summaryrefslogtreecommitdiff
path: root/include/platform.h
diff options
context:
space:
mode:
authorDenys Vlasenko2017-07-15 20:22:25 +0200
committerDenys Vlasenko2017-07-15 20:22:25 +0200
commit2c1258c620c5847649367394439cc10d0331d211 (patch)
treea0464536ff4534783af8cc68249e80b358101d31 /include/platform.h
parent08dfafc43757c42971b4bc3709ae7a5cda7c21fb (diff)
downloadbusybox-2c1258c620c5847649367394439cc10d0331d211.zip
busybox-2c1258c620c5847649367394439cc10d0331d211.tar.gz
Move get_unaligned_le32() macros to platform.h
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'include/platform.h')
-rw-r--r--include/platform.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/platform.h b/include/platform.h
index 6c7d03d..8210e5c 100644
--- a/include/platform.h
+++ b/include/platform.h
@@ -247,6 +247,12 @@ typedef uint64_t bb__aliased_uint64_t FIX_ALIASING;
} while (0)
#endif
+/* Unaligned, fixed-endian accessors */
+#define get_unaligned_le32(buf) ({ uint32_t v; move_from_unaligned32(v, buf); SWAP_LE32(v); })
+#define get_unaligned_be32(buf) ({ uint32_t v; move_from_unaligned32(v, buf); SWAP_BE32(v); })
+#define put_unaligned_le32(val, buf) move_to_unaligned32(buf, SWAP_LE32(val))
+#define put_unaligned_be32(val, buf) move_to_unaligned32(buf, SWAP_BE32(val))
+
/* ---- Size-saving "small" ints (arch-dependent) ----------- */