From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Szymon Janc To: CC: Szymon Janc Subject: [RFC v4 01/18] Add helper functions for putting integers on unaligned memory address Date: Tue, 4 Sep 2012 16:41:20 +0200 Message-ID: <1346769697-9930-2-git-send-email-szymon.janc@tieto.com> In-Reply-To: <1346769697-9930-1-git-send-email-szymon.janc@tieto.com> References: <1346769697-9930-1-git-send-email-szymon.janc@tieto.com> MIME-Version: 1.0 Content-Type: text/plain Sender: linux-bluetooth-owner@vger.kernel.org List-ID: Those functions are similar to bt_get_* functions. --- lib/bluetooth.h | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/lib/bluetooth.h b/lib/bluetooth.h index 0fc4508..161b7bd 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 -- 1.7.9.5