Hi, On Fri, Mar 25, 2011, Johan Hedberg wrote: > > > + } > > > + > > > + memcpy(&val, uuid128, 4); > > > + > > > + val = be32_to_cpu(val); > > > > I noticed just know the those UUID handling functions from management > > API are assuming UUIDs in network order. We will need to change this, > > or take extra care when reusing them for Advertising Data and GATT > > uuids. > > Right. This code is pretty much a copy of what user space already has > (hciops.c), and that code is relying on SDP (i.e. network) byte order > UUID-128s. Actually now that I think about it, for consistency with everything else in the management interface the byte order, at least in the management protocol, should probably stay little endian (mimicing HCI). We *could* store the UUIDs in hdev->uuids in host byte order, but then we'll need to add all the byte-order dependent code that we've recently created for user space with bt_uuid. The really important part is the management protocol since that's what's visible to user space. The internal storage of these UUIDs in the kernel is secondary. Personally, I'd like to avoid any 128-bit byte order conversions if possible but I can see how this can be argued in both ways. Johan -- 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