Hi Johan, On Fri, Oct 21, 2011 at 11:36:53AM +0300, Johan Hedberg wrote: > Hi Andrei, > > On Thu, Oct 20, 2011, Emeltchenko Andrei wrote: > > --- > > lib/l2cap.h | 5 +++++ > > 1 files changed, 5 insertions(+), 0 deletions(-) > > > > diff --git a/lib/l2cap.h b/lib/l2cap.h > > index 47b3dc3..3880551 100644 > > --- a/lib/l2cap.h > > +++ b/lib/l2cap.h > > @@ -139,6 +139,11 @@ struct l2cap_conninfo { > > > > #define L2CAP_SDULEN_SIZE 2 > > > > +/* L2CAP fixed channels */ > > +#define L2CAP_FC_L2CAP 0x02 > > +#define L2CAP_FC_CONNLESS 0x04 > > +#define L2CAP_FC_A2MP 0x08 > > + > > /* L2CAP structures */ > > typedef struct { > > uint16_t len; > > The first two patches have been applied. > > For the rest, like Marcel suggested, I think it'd be a good idea to have > proper get_{le,be}{16,32,64} functions. Since we can use these both in > hcidump and bluez I suppose libbluetooth is the appropriate place for > them, however in that case (e.g. if you put them in lib/bluetooth.h) a > _bt prefix should be added. Would the following code be OK? diff --git a/lib/bluetooth.h b/lib/bluetooth.h index b0680e2..158103b 100644 --- a/lib/bluetooth.h +++ b/lib/bluetooth.h @@ -125,6 +125,30 @@ do { \ __p->__v = (val); \ } while(0) +#if __BYTE_ORDER == __LITTLE_ENDIAN +inline uint64_t bt_get_le64(void *ptr) +{ + return bt_get_unaligned((uint64_t *) ptr); +} + +inline uint64_t bt_get_be64(void *ptr) +{ + return bswap_64(bt_get_unaligned((uint64_t *) ptr)); +} +#elif __BYTE_ORDER == __BIG_ENDIAN +inline uint64_t bt_get_le64(void *ptr) +{ + return bswap_64(bt_get_unaligned((uint64_t *) ptr)); +} + +inline uint64_t bt_get_be64(void *ptr) +{ + return bt_get_unaligned((uint64_t *) ptr); +} +#else +#error "Unknown byte order" +#endif + /* BD Address */ typedef struct { uint8_t b[6]; Regards, Andrei -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html