From da50c27b5d3d930f2ece35e417f30e2ead5acd17 Mon Sep 17 00:00:00 2001 From: Szymon Janc Date: Fri, 26 Sep 2014 15:42:16 +0200 Subject: [PATCH] android/hal: Add simple helpers for unaligned memory access In HALs we usually don't operate on unaligned memory. Only exception are PCM stereo<->mono mixing scenarios in sco and audio HALs. --- android/hal-utils.h | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/android/hal-utils.h b/android/hal-utils.h index a2ae0f48b..ee0320c92 100644 --- a/android/hal-utils.h +++ b/android/hal-utils.h @@ -15,6 +15,8 @@ * */ +#include + #include #define PLATFORM_VER(a,b,c) ((a << 16) | ( b << 8) | (c)) @@ -132,3 +134,21 @@ DECINTMAP(bt_bond_state_t); DECINTMAP(bt_ssp_variant_t); DECINTMAP(bt_property_type_t); DECINTMAP(bt_cb_thread_evt); + +static inline uint16_t get_le16(const void *src) +{ + const struct __attribute__((packed)) { + uint16_t le16; + } *p = src; + + return le16toh(p->le16); +} + +static inline void put_le16(uint16_t val, void *dst) +{ + struct __attribute__((packed)) { + uint16_t le16; + } *p = dst; + + p->le16 = htole16(val); +} -- 2.47.3