if (len != (min_len + 2) && len != (min_len + 16))
return 0;
- *start = att_get_u16(&pdu[1]);
- *end = att_get_u16(&pdu[3]);
+ *start = get_le16(&pdu[1]);
+ *end = get_le16(&pdu[3]);
if (len == min_len + 2)
bt_uuid16_create(uuid, get_le16(&pdu[5]));
else
return 0;
/* First requested handle number (2 octets) */
- *start = att_get_u16(&pdu[1]);
+ *start = get_le16(&pdu[1]);
/* Last requested handle number (2 octets) */
- *end = att_get_u16(&pdu[3]);
+ *end = get_le16(&pdu[3]);
/* 16-bit UUID to find (2 octets) */
bt_uuid16_create(uuid, get_le16(&pdu[5]));
len >= (offset + sizeof(uint16_t) * 2);
offset += sizeof(uint16_t) * 2) {
range = g_new0(struct att_range, 1);
- range->start = att_get_u16(&pdu[offset]);
- range->end = att_get_u16(&pdu[offset + 2]);
+ range->start = get_le16(&pdu[offset]);
+ range->end = get_le16(&pdu[offset + 2]);
matches = g_slist_append(matches, range);
}
if (pdu[0] != ATT_OP_READ_BY_TYPE_REQ)
return 0;
- *start = att_get_u16(&pdu[1]);
- *end = att_get_u16(&pdu[3]);
+ *start = get_le16(&pdu[1]);
+ *end = get_le16(&pdu[3]);
if (len == min_len + 2)
bt_uuid16_create(uuid, get_le16(&pdu[5]));
if (pdu[0] != ATT_OP_WRITE_CMD)
return 0;
- *handle = att_get_u16(&pdu[1]);
+ *handle = get_le16(&pdu[1]);
memcpy(value, pdu + min_len, len - min_len);
*vlen = len - min_len;
if (pdu[0] != ATT_OP_WRITE_REQ)
return 0;
- *handle = att_get_u16(&pdu[1]);
+ *handle = get_le16(&pdu[1]);
*vlen = len - min_len;
if (*vlen > 0)
memcpy(value, pdu + min_len, *vlen);
if (pdu[0] != ATT_OP_READ_REQ)
return 0;
- *handle = att_get_u16(&pdu[1]);
+ *handle = get_le16(&pdu[1]);
return min_len;
}
if (pdu[0] != ATT_OP_READ_BLOB_REQ)
return 0;
- *handle = att_get_u16(&pdu[1]);
- *offset = att_get_u16(&pdu[3]);
+ *handle = get_le16(&pdu[1]);
+ *offset = get_le16(&pdu[3]);
return min_len;
}
if (pdu[0] != ATT_OP_FIND_INFO_REQ)
return 0;
- *start = att_get_u16(&pdu[1]);
- *end = att_get_u16(&pdu[3]);
+ *start = get_le16(&pdu[1]);
+ *end = get_le16(&pdu[3]);
return min_len;
}
dlen = MIN(len - min_len, vlen);
if (handle)
- *handle = att_get_u16(&pdu[1]);
+ *handle = get_le16(&pdu[1]);
memcpy(value, &pdu[3], dlen);
if (pdu[0] != ATT_OP_MTU_REQ)
return 0;
- *mtu = att_get_u16(&pdu[1]);
+ *mtu = get_le16(&pdu[1]);
return min_len;
}
if (pdu[0] != ATT_OP_MTU_RESP)
return 0;
- *mtu = att_get_u16(&pdu[1]);
+ *mtu = get_le16(&pdu[1]);
return min_len;
}
if (pdu[0] != ATT_OP_PREP_WRITE_REQ)
return 0;
- *handle = att_get_u16(&pdu[1]);
- *offset = att_get_u16(&pdu[3]);
+ *handle = get_le16(&pdu[1]);
+ *offset = get_le16(&pdu[3]);
*vlen = len - min_len;
if (*vlen > 0)
if (pdu[0] != ATT_OP_PREP_WRITE_REQ)
return 0;
- *handle = att_get_u16(&pdu[1]);
- *offset = att_get_u16(&pdu[3]);
+ *handle = get_le16(&pdu[1]);
+ *offset = get_le16(&pdu[3]);
*vlen = len - min_len;
if (*vlen > 0)
memcpy(value, pdu + min_len, *vlen);
struct gatt_primary *primary;
bt_uuid_t uuid;
- start = att_get_u16(&data[0]);
- end = att_get_u16(&data[2]);
+ start = get_le16(&data[0]);
+ end = get_le16(&data[2]);
if (list->len == 6) {
bt_uuid_t uuid16;
{
struct gatt_included *incl = g_new0(struct gatt_included, 1);
- incl->handle = att_get_u16(&buf[0]);
- incl->range.start = att_get_u16(&buf[2]);
- incl->range.end = att_get_u16(&buf[4]);
+ incl->handle = get_le16(&buf[0]);
+ incl->range.start = get_le16(&buf[2]);
+ incl->range.end = get_le16(&buf[4]);
if (len == 8) {
bt_uuid_t uuid128;
struct gatt_char *chars;
bt_uuid_t uuid;
- last = att_get_u16(value);
+ last = get_le16(value);
if (list->len == 7) {
bt_uuid_t uuid16;
chars->handle = last;
chars->properties = value[2];
- chars->value_handle = att_get_u16(&value[3]);
+ chars->value_handle = get_le16(&value[3]);
bt_uuid_to_string(&uuid, chars->uuid, sizeof(chars->uuid));
dc->characteristics = g_slist_append(dc->characteristics,
chars);
#include "btio/btio.h"
#include "lib/uuid.h"
+#include "src/shared/util.h"
#include "src/log.h"
#include "attrib/att.h"
#include "attrib/gattrib.h"
if (len < 3)
return false;
- handle = att_get_u16(&pdu[1]);
+ handle = get_le16(&pdu[1]);
if (evt->expected == pdu[0] && evt->handle == handle)
return true;
uint16_t handle, i, olen = 0;
size_t plen;
- handle = att_get_u16(&pdu[1]);
+ handle = get_le16(&pdu[1]);
switch (pdu[0]) {
case ATT_OP_HANDLE_NOTIFY:
uint8_t *value = list->data[i];
int j;
- g_print("handle: 0x%04x \t value: ", att_get_u16(value));
+ g_print("handle: 0x%04x \t value: ", get_le16(value));
value += 2;
for (j = 0; j < list->len - 2; j++, value++)
g_print("%02x ", *value);
bt_uuid_t uuid;
value = list->data[i];
- handle = att_get_u16(value);
+ handle = get_le16(value);
if (format == 0x01)
bt_uuid16_create(&uuid, get_le16(&value[2]));
size_t plen;
GString *s;
- handle = att_get_u16(&pdu[1]);
+ handle = get_le16(&pdu[1]);
switch (pdu[0]) {
case ATT_OP_HANDLE_NOTIFY:
bt_uuid_t uuid;
value = list->data[i];
- handle = att_get_u16(value);
+ handle = get_le16(value);
if (format == 0x01)
bt_uuid16_create(&uuid, get_le16(&value[2]));
int j;
g_string_printf(s, "handle: 0x%04x \t value: ",
- att_get_u16(value));
+ get_le16(value));
value += 2;
for (j = 0; j < list->len - 2; j++, value++)
g_string_append_printf(s, "%02x ", *value);
return;
}
- csc->feature = att_get_u16(value);
+ csc->feature = get_le16(value);
if ((csc->feature & MULTI_SENSOR_LOC_SUPPORT)
&& (csc->locations == NULL))
char *msg;
value = list->data[i];
- handle = att_get_u16(value);
- uuid = att_get_u16(value + 2);
+ handle = get_le16(value);
+ uuid = get_le16(value + 2);
if (uuid != GATT_CLIENT_CHARAC_CFG_UUID)
continue;
m.has_wheel_rev = true;
m.wheel_rev = get_le32(pdu);
- m.last_wheel_time = att_get_u16(pdu + 4);
+ m.last_wheel_time = get_le16(pdu + 4);
pdu += 6;
len -= 6;
}
}
m.has_crank_rev = true;
- m.crank_rev = att_get_u16(pdu);
- m.last_crank_time = att_get_u16(pdu + 2);
+ m.crank_rev = get_le16(pdu);
+ m.last_crank_time = get_le16(pdu + 2);
pdu += 4;
len -= 4;
}
#include "src/device.h"
#include "src/profile.h"
#include "src/service.h"
+#include "src/shared/util.h"
#include "attrib/gattrib.h"
#include "src/attio.h"
#include "attrib/att.h"
return;
}
- btd_device_set_pnpid(ch->d->dev, value[0], att_get_u16(&value[1]),
- att_get_u16(&value[3]), att_get_u16(&value[5]));
+ btd_device_set_pnpid(ch->d->dev, value[0], get_le16(&value[1]),
+ get_le16(&value[3]), get_le16(&value[5]));
}
static void process_deviceinfo_char(struct characteristic *ch)
#include "src/device.h"
#include "src/profile.h"
#include "src/service.h"
+#include "src/shared/util.h"
#include "attrib/att.h"
#include "attrib/gattrib.h"
#include "src/attio.h"
}
atval = list->data[0] + 2; /* skip handle value */
- app = att_get_u16(atval);
+ app = get_le16(atval);
DBG("GAP Appearance: 0x%04x", app);
return;
}
- start = att_get_u16(&pdu[3]);
- end = att_get_u16(&pdu[5]);
+ start = get_le16(&pdu[3]);
+ end = get_le16(&pdu[5]);
DBG("Service Changed start: 0x%04X end: 0x%04X", start, end);
uint8_t *value;
value = list->data[i];
- ccc = att_get_u16(value);
- uuid16 = att_get_u16(&value[2]);
+ ccc = get_le16(value);
+ uuid16 = get_le16(&value[2]);
DBG("CCC: 0x%04x UUID: 0x%04x", ccc, uuid16);
write_ccc(gas->attrib, ccc, user_data);
}
#include "src/dbus-common.h"
#include "src/device.h"
#include "src/profile.h"
+#include "src/shared/util.h"
#include "src/service.h"
#include "src/error.h"
#include "attrib/gattrib.h"
return;
}
- m.value = att_get_u16(pdu);
+ m.value = get_le16(pdu);
pdu += 2;
len -= 2;
} else {
}
m.has_energy = TRUE;
- m.energy = att_get_u16(pdu);
+ m.energy = get_le16(pdu);
pdu += 2;
len -= 2;
}
m.interval = g_new(uint16_t, m.num_interval);
for (i = 0; i < m.num_interval; pdu += 2, i++)
- m.interval[i] = att_get_u16(pdu);
+ m.interval[i] = get_le16(pdu);
}
if (flags & SENSOR_CONTACT_SUPPORT) {
uint8_t attr_val[2];
value = list->data[i];
- handle = att_get_u16(value);
- uuid = att_get_u16(value + 2);
+ handle = get_le16(value);
+ uuid = get_le16(value + 2);
if (uuid != GATT_CLIENT_CHARAC_CFG_UUID)
continue;
#include "src/device.h"
#include "src/profile.h"
#include "src/service.h"
+#include "src/shared/util.h"
#include "src/plugin.h"
uint8_t *value;
value = list->data[i];
- handle = att_get_u16(value);
- uuid16 = att_get_u16(&value[2]);
+ handle = get_le16(value);
+ uuid16 = get_le16(&value[2]);
switch (uuid16) {
case GATT_CLIENT_CHARAC_CFG_UUID:
return;
}
- uuid16 = att_get_u16(&pdu[1]);
+ uuid16 = get_le16(&pdu[1]);
DBG("External report reference read, external report characteristic "
"UUID: 0x%04x", uuid16);
bt_uuid16_create(&uuid, uuid16);
return;
}
- hogdev->bcdhid = att_get_u16(&value[0]);
+ hogdev->bcdhid = get_le16(&value[0]);
hogdev->bcountrycode = value[2];
hogdev->flags = value[3];
#include "src/device.h"
#include "src/profile.h"
#include "src/service.h"
+#include "src/shared/util.h"
#include "attrib/att.h"
#include "attrib/gattrib.h"
#include "attrib/gatt.h"
goto done;
ptr = list->data[0];
- handle = att_get_u16(ptr);
- uuid16 = att_get_u16(&ptr[2]);
+ handle = get_le16(ptr);
+ uuid16 = get_le16(&ptr[2]);
if (uuid16 != GATT_CLIENT_CHARAC_CFG_UUID)
goto done;
return;
}
- ts.tm_year = att_get_u16(pdu) - 1900;
+ ts.tm_year = get_le16(pdu) - 1900;
ts.tm_mon = *(pdu + 2) - 1;
ts.tm_mday = *(pdu + 3);
ts.tm_hour = *(pdu + 4);
return;
}
- interval = att_get_u16(pdu + 3);
+ interval = get_le16(pdu + 3);
change_property(t, "Interval", &interval);
opdu = g_attrib_get_buffer(t->attrib, &plen);
return;
}
- min = att_get_u16(&value[0]);
- max = att_get_u16(&value[2]);
+ min = get_le16(&value[0]);
+ max = get_le16(&value[2]);
if (min == 0 || min > max) {
DBG("Invalid range");
uint16_t handle, uuid;
value = list->data[i];
- handle = att_get_u16(value);
- uuid = att_get_u16(value + 2);
+ handle = get_le16(value);
+ uuid = get_le16(value + 2);
process_thermometer_desc(ch, uuid, handle);
}
return;
}
- interval = att_get_u16(&value[0]);
+ interval = get_le16(&value[0]);
change_property(t, "Interval", &interval);
}
#include "hcid.h"
#include "adapter.h"
#include "device.h"
+#include "src/shared/util.h"
#include "attrib/gattrib.h"
#include "attrib/att.h"
#include "attrib/gatt.h"
return 0;
if (a->len == 2)
- sdp_uuid16_create(&svc, att_get_u16(a->data));
+ sdp_uuid16_create(&svc, get_le16(a->data));
else if (a->len == 16)
sdp_uuid128_create(&svc, a->data);
else
status, pdu, len);
}
} else {
- uint16_t cccval = att_get_u16(value);
+ uint16_t cccval = get_le16(value);
char *filename;
GKeyFile *key_file;
char group[6], value[5];