byteorder: Add 32-bit unaligned little-endian conversion functions
authorMartin Willi <martin@strongswan.org>
Tue, 10 Nov 2015 06:57:48 +0000 (07:57 +0100)
committerMartin Willi <martin@strongswan.org>
Fri, 4 Dec 2015 09:29:09 +0000 (10:29 +0100)
src/libstrongswan/plugins/chapoly/chapoly_drv_portable.c
src/libstrongswan/utils/utils/byteorder.h

index 54e934e..dfed4d5 100644 (file)
@@ -58,27 +58,6 @@ struct private_chapoly_drv_portable_t {
 };
 
 /**
- * Convert unaligned little endian to host byte order
- */
-static inline u_int32_t uletoh32(void *p)
-{
-       u_int32_t ret;
-
-       memcpy(&ret, p, sizeof(ret));
-       ret = le32toh(ret);
-       return ret;
-}
-
-/**
- * Convert host byte order to unaligned little endian
- */
-static inline void htoule32(void *p, u_int32_t v)
-{
-       v = htole32(v);
-       memcpy(p, &v, sizeof(v));
-}
-
-/**
  * XOR a 32-bit integer into an unaligned destination
  */
 static inline void xor32u(void *p, u_int32_t x)
index 48cf1d5..ef2bddb 100644 (file)
@@ -158,4 +158,31 @@ static inline u_int64_t untoh64(void *network)
 #endif
 }
 
+/**
+ * Read a 32-bit value in little-endian order from unaligned address.
+ *
+ * @param network      unaligned address to read little endian value from
+ * @return                     host order value
+ */
+static inline u_int32_t uletoh32(void *p)
+{
+       u_int32_t ret;
+
+       memcpy(&ret, p, sizeof(ret));
+       ret = le32toh(ret);
+       return ret;
+}
+
+/**
+ * Write a 32-bit value in little-endian to an unaligned address.
+ *
+ * @param host         host order 32-bit value
+ * @param network      unaligned address to write little endian value to
+ */
+static inline void htoule32(void *p, u_int32_t v)
+{
+       v = htole32(v);
+       memcpy(p, &v, sizeof(v));
+}
+
 #endif /** BYTEORDER_H_ @} */