summaryrefslogtreecommitdiff
path: root/lib/bluetooth.h
diff options
context:
space:
mode:
authorSzymon Janc <szymon.janc@tieto.com>2012-09-04 16:41:20 +0200
committerJohan Hedberg <johan.hedberg@intel.com>2012-09-05 12:04:52 +0300
commit51df85874550ab87ff03d35a57c6903831d3e835 (patch)
tree5a8765fdae06a9a88ae9d3cbcf6804cb2c4f04b2 /lib/bluetooth.h
parent546fee067daedc2b7860481aeaebd1771d192dfb (diff)
downloadbluez-51df85874550ab87ff03d35a57c6903831d3e835.tar.gz
lib: Add unaligned put helper functions
These functions are similar to bt_get_* functions.
Diffstat (limited to 'lib/bluetooth.h')
-rw-r--r--lib/bluetooth.h61
1 files changed, 61 insertions, 0 deletions
diff --git a/lib/bluetooth.h b/lib/bluetooth.h
index 0fc4508a8..161b7bd09 100644
--- a/lib/bluetooth.h
+++ b/lib/bluetooth.h
@@ -183,6 +183,37 @@ static inline uint16_t bt_get_be16(const void *ptr)
{
return bswap_16(bt_get_unaligned((const uint16_t *) ptr));
}
+
+static inline void bt_put_le64(uint64_t val, const void *ptr)
+{
+ bt_put_unaligned(val, (uint64_t *) ptr);
+}
+
+static inline void bt_put_be64(uint64_t val, const void *ptr)
+{
+ bt_put_unaligned(bswap_64(val), (uint64_t *) ptr);
+}
+
+static inline void bt_put_le32(uint32_t val, const void *ptr)
+{
+ bt_put_unaligned(val, (uint32_t *) ptr);
+}
+
+static inline void bt_put_be32(uint32_t val, const void *ptr)
+{
+ bt_put_unaligned(bswap_32(val), (uint32_t *) ptr);
+}
+
+static inline void bt_put_le16(uint16_t val, const void *ptr)
+{
+ bt_put_unaligned(val, (uint16_t *) ptr);
+}
+
+static inline void bt_put_be16(uint16_t val, const void *ptr)
+{
+ bt_put_unaligned(bswap_16(val), (uint16_t *) ptr);
+}
+
#elif __BYTE_ORDER == __BIG_ENDIAN
static inline uint64_t bt_get_le64(const void *ptr)
{
@@ -213,6 +244,36 @@ static inline uint16_t bt_get_be16(const void *ptr)
{
return bt_get_unaligned((const uint16_t *) ptr);
}
+
+static inline void bt_put_le64(uint64_t val, const void *ptr)
+{
+ bt_put_unaligned(bswap_64(val), (uint64_t *) ptr);
+}
+
+static inline void bt_put_be64(uint64_t val, const void *ptr)
+{
+ bt_put_unaligned(val, (uint64_t *) ptr);
+}
+
+static inline void bt_put_le32(uint32_t val, const void *ptr)
+{
+ bt_put_unaligned(bswap_32(val), (uint32_t *) ptr);
+}
+
+static inline void bt_put_be32(uint32_t val, const void *ptr)
+{
+ bt_put_unaligned(val, (uint32_t *) ptr);
+}
+
+static inline void bt_put_le16(uint16_t val, const void *ptr)
+{
+ bt_put_unaligned(bswap_16(val), (uint16_t *) ptr);
+}
+
+static inline void bt_put_be16(uint16_t val, const void *ptr)
+{
+ bt_put_unaligned(val, (uint16_t *) ptr);
+}
#else
#error "Unknown byte order"
#endif