aboutsummaryrefslogtreecommitdiff
path: root/include/bswap.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/bswap.h')
-rw-r--r--include/bswap.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/include/bswap.h b/include/bswap.h
new file mode 100644
index 0000000..2a72bd0
--- /dev/null
+++ b/include/bswap.h
@@ -0,0 +1,29 @@
+#ifndef BSWAP_H
+#define BSWAP_H 1
+
+static inline uint32_t bswap32(uint32_t x)
+{
+ return __builtin_bswap32(x);
+}
+
+static inline uint64_t bswap64(uint64_t x)
+{
+ return __builtin_bswap64(x);
+}
+
+static inline uint32_t ldl_le_p(const void *p)
+{
+ uint32_t val;
+ memcpy(&val, p, 4);
+ return val;
+}
+
+static inline uint32_t ldl_be_p(const void *p)
+{
+ uint32_t val;
+ memcpy(&val, p, 4);
+ return bswap32(val);
+}
+
+
+#endif