You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by ja...@apache.org on 2023/07/26 17:38:32 UTC
[mynewt-nimble] 03/12: apps/bttester: drop `glue` module
This is an automated email from the ASF dual-hosted git repository.
janc pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mynewt-nimble.git
commit ba8a946fba175a20a85760d118221151fbfa1aed
Author: Krzysztof Kopyściński <kr...@codecoup.pl>
AuthorDate: Mon Jul 10 13:26:50 2023 +0200
apps/bttester: drop `glue` module
There is no need to be dependent on `glue` module and it can be dropped
from application. Mesh part of bttester can still use one from
`"mesh/glue.h"`
---
apps/bttester/src/btp/btp.h | 10 ---
apps/bttester/src/btp/btp_gap.h | 15 ++++
apps/bttester/src/btp/bttester.h | 15 ++--
apps/bttester/src/btp_gap.c | 64 +++++++++------
apps/bttester/src/btp_gatt.c | 143 ++++++++++++++++++---------------
apps/bttester/src/btp_gatt_cl.c | 166 +++++++++++++++++++++++----------------
apps/bttester/src/btp_l2cap.c | 8 +-
apps/bttester/src/btp_mesh.c | 14 ++--
apps/bttester/src/bttester.c | 53 ++++++++++---
apps/bttester/src/glue.c | 129 ------------------------------
apps/bttester/src/glue.h | 89 ---------------------
11 files changed, 298 insertions(+), 408 deletions(-)
diff --git a/apps/bttester/src/btp/btp.h b/apps/bttester/src/btp/btp.h
index 996ab7912..5e1a172e9 100644
--- a/apps/bttester/src/btp/btp.h
+++ b/apps/bttester/src/btp/btp.h
@@ -34,12 +34,6 @@
#include "btp_l2cap.h"
#include "btp_mesh.h"
-#if MYNEWT_VAL(BLE_MESH)
-#include "mesh/glue.h"
-#else
-#include "../glue.h"
-#endif
-
#define BTP_MTU MYNEWT_VAL(BTTESTER_BTP_DATA_SIZE_MAX)
#define BTP_DATA_MAX_SIZE (BTP_MTU - sizeof(struct btp_hdr))
@@ -78,10 +72,6 @@
#define SYS_LOG_LEVEL SYS_LOG_LEVEL_DEBUG
#define SYS_LOG_DOMAIN "bttester"
-#define sys_cpu_to_le32 htole32
-#define sys_le32_to_cpu le32toh
-#define sys_cpu_to_le16 htole16
-
struct btp_hdr {
uint8_t service;
uint8_t opcode;
diff --git a/apps/bttester/src/btp/btp_gap.h b/apps/bttester/src/btp/btp_gap.h
index 5ef756113..ca60b8103 100644
--- a/apps/bttester/src/btp/btp_gap.h
+++ b/apps/bttester/src/btp/btp_gap.h
@@ -26,6 +26,21 @@
* SPDX-License-Identifier: Apache-2.0
*/
+#include "nimble/ble.h"
+
+struct adv_data {
+ uint8_t type;
+ uint8_t data_len;
+ const uint8_t *data;
+};
+
+#define ADV_DATA(_type, _data, _data_len) \
+ { \
+ .type = (_type), \
+ .data_len = (_data_len), \
+ .data = (const uint8_t *)(_data), \
+ }
+
/* GAP Service */
/* commands */
#define BTP_GAP_READ_SUPPORTED_COMMANDS 0x01
diff --git a/apps/bttester/src/btp/bttester.h b/apps/bttester/src/btp/bttester.h
index e13400ae9..3aed91779 100644
--- a/apps/bttester/src/btp/bttester.h
+++ b/apps/bttester/src/btp/bttester.h
@@ -31,13 +31,18 @@
#include "syscfg/syscfg.h"
#include "host/ble_gatt.h"
-#if MYNEWT_VAL(BLE_MESH)
-#include "mesh/glue.h"
-#else
-#include "glue.h"
-#endif
+#include "os/os_mbuf.h"
#include <sys/types.h>
+#define BIT(n) (1UL << (n))
+
+/* Reset os_mbuf to reusable state */
+void
+tester_mbuf_reset(struct os_mbuf *buf);
+
+const char *
+string_from_bytes(const void *buf, size_t len);
+
static inline void
tester_set_bit(uint8_t *addr, unsigned int bit)
{
diff --git a/apps/bttester/src/btp_gap.c b/apps/bttester/src/btp_gap.c
index 66b88a680..378e3ae5b 100644
--- a/apps/bttester/src/btp_gap.c
+++ b/apps/bttester/src/btp_gap.c
@@ -35,6 +35,8 @@
#include "btp/btp.h"
+#include <errno.h>
+
#define CONTROLLER_INDEX 0
#define CONTROLLER_NAME "btp_tester"
@@ -235,8 +237,8 @@ controller_info(const void *cmd, uint16_t cmd_len,
current_settings |= BIT(BTP_GAP_SETTINGS_SC);
}
- rp->supported_settings = sys_cpu_to_le32(supported_settings);
- rp->current_settings = sys_cpu_to_le32(current_settings);
+ rp->supported_settings = htole32(supported_settings);
+ rp->current_settings = htole32(current_settings);
memcpy(rp->name, CONTROLLER_NAME, sizeof(CONTROLLER_NAME));
@@ -299,7 +301,7 @@ set_connectable(const void *cmd, uint16_t cmd_len,
adv_params.conn_mode = BLE_GAP_CONN_MODE_NON;
}
- rp->current_settings = sys_cpu_to_le32(current_settings);
+ rp->current_settings = htole32(current_settings);
*rsp_len = sizeof(*rp);
@@ -339,7 +341,7 @@ set_discoverable(const void *cmd, uint16_t cmd_len,
return BTP_STATUS_FAILED;
}
- rp->current_settings = sys_cpu_to_le32(current_settings);
+ rp->current_settings = htole32(current_settings);
*rsp_len = sizeof(*rp);
@@ -362,18 +364,18 @@ set_bondable(const void *cmd, uint16_t cmd_len,
current_settings &= ~BIT(BTP_GAP_SETTINGS_BONDABLE);
}
- rp->current_settings = sys_cpu_to_le32(current_settings);
+ rp->current_settings = htole32(current_settings);
*rsp_len = sizeof(*rp);
return BTP_STATUS_SUCCESS;
}
-static struct bt_data ad[10] = {
- BT_DATA(BLE_HS_ADV_TYPE_FLAGS, &ad_flags, sizeof(ad_flags)),
+static struct adv_data ad[10] = {
+ ADV_DATA(BLE_HS_ADV_TYPE_FLAGS, &ad_flags, sizeof(ad_flags)),
};
-static struct bt_data sd[10];
+static struct adv_data sd[10];
static int
-set_ad(const struct bt_data *ad_data, size_t ad_len,
+set_ad(const struct adv_data *ad_data, size_t ad_len,
uint8_t *buf, uint8_t *buf_len)
{
int i;
@@ -519,7 +521,7 @@ start_advertising(const void *cmd, uint16_t cmd_len,
}
current_settings |= BIT(BTP_GAP_SETTINGS_ADVERTISING);
- rp->current_settings = sys_cpu_to_le32(current_settings);
+ rp->current_settings = htole32(current_settings);
*rsp_len = sizeof(*rp);
@@ -541,7 +543,7 @@ stop_advertising(const void *cmd, uint16_t cmd_len,
}
current_settings &= ~BIT(BTP_GAP_SETTINGS_ADVERTISING);
- rp->current_settings = sys_cpu_to_le32(current_settings);
+ rp->current_settings = htole32(current_settings);
*rsp_len = sizeof(*rp);
@@ -584,18 +586,27 @@ store_adv(const ble_addr_t *addr, int8_t rssi,
const uint8_t *data, uint8_t len)
{
struct btp_gap_device_found_ev *ev;
-
+ void *adv_data;
/* cleanup */
- net_buf_simple_init(adv_buf, 0);
+ tester_mbuf_reset(adv_buf);
- ev = net_buf_simple_add(adv_buf, sizeof(*ev));
+ ev = os_mbuf_extend(adv_buf, sizeof(*ev));
+ if (!ev) {
+ return;
+ }
memcpy(ev->address, addr->val, sizeof(ev->address));
ev->address_type = addr->type;
ev->rssi = rssi;
ev->flags = BTP_GAP_DEVICE_FOUND_FLAG_AD | BTP_GAP_DEVICE_FOUND_FLAG_RSSI;
ev->eir_data_len = len;
- memcpy(net_buf_simple_add(adv_buf, len), data, len);
+
+ adv_data = os_mbuf_extend(adv_buf, len);
+ if (!adv_data) {
+ return;
+ }
+
+ memcpy(adv_data, data, len);
}
static void
@@ -603,6 +614,7 @@ device_found(ble_addr_t *addr, int8_t rssi, uint8_t evtype,
const uint8_t *data, uint8_t len)
{
struct btp_gap_device_found_ev *ev;
+ void *adv_data;
ble_addr_t a;
/* if General/Limited Discovery - parse Advertising data to get flags */
@@ -649,7 +661,12 @@ device_found(ble_addr_t *addr, int8_t rssi, uint8_t evtype,
ev->eir_data_len += len;
ev->flags |= BTP_GAP_DEVICE_FOUND_FLAG_SD;
- memcpy(net_buf_simple_add(adv_buf, len), data, len);
+ adv_data = os_mbuf_extend(adv_buf, len);
+ if (!adv_data) {
+ return;
+ }
+
+ memcpy(adv_data, data, len);
goto done;
}
@@ -712,7 +729,7 @@ start_discovery(const void *cmd, uint16_t cmd_len,
return BTP_STATUS_FAILED;
}
- net_buf_simple_init(adv_buf, 0);
+ tester_mbuf_reset(adv_buf);
discovery_flags = cp->flags;
return BTP_STATUS_SUCCESS;
@@ -910,7 +927,7 @@ auth_passkey_display(uint16_t conn_handle, unsigned int passkey)
memcpy(ev.address, addr->val, sizeof(ev.address));
ev.address_type = addr->type;
- ev.passkey = sys_cpu_to_le32(pk.passkey);
+ ev.passkey = htole32(pk.passkey);
tester_send(BTP_SERVICE_ID_GAP, BTP_GAP_EV_PASSKEY_DISPLAY,
(uint8_t *) &ev, sizeof(ev));
@@ -959,7 +976,7 @@ auth_passkey_numcmp(uint16_t conn_handle, unsigned int passkey)
memcpy(ev.address, addr->val, sizeof(ev.address));
ev.address_type = addr->type;
- ev.passkey = sys_cpu_to_le32(passkey);
+ ev.passkey = htole32(passkey);
tester_send(BTP_SERVICE_ID_GAP, BTP_GAP_EV_PASSKEY_CONFIRM_REQ,
(uint8_t *) &ev, sizeof(ev));
@@ -1206,7 +1223,7 @@ adv_complete(void)
struct btp_gap_new_settings_ev ev;
current_settings &= ~BIT(BTP_GAP_SETTINGS_ADVERTISING);
- ev.current_settings = sys_cpu_to_le32(current_settings);
+ ev.current_settings = htole32(current_settings);
tester_send(BTP_SERVICE_ID_GAP, BTP_GAP_EV_NEW_SETTINGS,
(uint8_t *) &ev, sizeof(ev));
@@ -1525,7 +1542,7 @@ passkey_entry(const void *cmd, uint16_t cmd_len,
}
pk.action = BLE_SM_IOACT_INPUT;
- pk.passkey = sys_le32_to_cpu(cp->passkey);
+ pk.passkey = le32toh(cp->passkey);
rc = ble_sm_inject_io(desc.conn_handle, &pk);
if (rc) {
@@ -1587,7 +1604,7 @@ start_direct_adv(const void *cmd, uint16_t cmd_len,
}
current_settings |= BIT(BTP_GAP_SETTINGS_ADVERTISING);
- rp->current_settings = sys_cpu_to_le32(current_settings);
+ rp->current_settings = htole32(current_settings);
*rsp_len = sizeof(*rp);
@@ -1920,7 +1937,8 @@ tester_init_gap(void)
os_callout_init(&bttester_nrpa_rotate_timer, os_eventq_dflt_get(),
rotate_nrpa_cb, NULL);
#endif
- adv_buf = NET_BUF_SIMPLE(ADV_BUF_LEN);
+ adv_buf = os_msys_get(ADV_BUF_LEN, 0);
+ assert(adv_buf);
tester_init_gap_cb();
diff --git a/apps/bttester/src/btp_gatt.c b/apps/bttester/src/btp_gatt.c
index 5d62a677a..ef6a805b7 100644
--- a/apps/bttester/src/btp_gatt.c
+++ b/apps/bttester/src/btp_gatt.c
@@ -260,11 +260,13 @@ attr_value_changed_ev(uint16_t handle, struct os_mbuf *data)
SYS_LOG_DBG("");
- net_buf_simple_init(buf, 0);
- ev = net_buf_simple_add(buf, sizeof(*ev));
+ ev = os_mbuf_extend(buf, sizeof(*ev));
+ if (!ev) {
+ return;
+ }
- ev->handle = sys_cpu_to_le16(handle);
- ev->data_length = sys_cpu_to_le16(os_mbuf_len(data));
+ ev->handle = htole16(handle);
+ ev->data_length = htole16(os_mbuf_len(data));
os_mbuf_appendfrom(buf, data, 0, os_mbuf_len(data));
tester_send_buf(BTP_SERVICE_ID_GATT, BTP_GATT_EV_ATTR_VALUE_CHANGED,
@@ -598,7 +600,7 @@ btp2bt_uuid(const uint8_t *uuid, uint8_t len,
case 0x02: /* UUID 16 */
bt_uuid->u.type = BLE_UUID_TYPE_16;
memcpy(&le16, uuid, sizeof(le16));
- BLE_UUID16(bt_uuid)->value = sys_le16_to_cpu(le16);
+ BLE_UUID16(bt_uuid)->value = le16toh(le16);
break;
case 0x10: /* UUID 128*/
bt_uuid->u.type = BLE_UUID_TYPE_128;
@@ -721,7 +723,7 @@ read(uint8_t *data, uint16_t len)
goto fail;
}
- if (ble_gattc_read(conn.conn_handle, sys_le16_to_cpu(cmd->handle),
+ if (ble_gattc_read(conn.conn_handle, le16toh(cmd->handle),
read_cb, (void *) BTP_GATT_READ)) {
read_destroy();
goto fail;
@@ -793,8 +795,8 @@ read_long(uint8_t *data, uint16_t len)
}
if (ble_gattc_read_long(conn.conn_handle,
- sys_le16_to_cpu(cmd->handle),
- sys_le16_to_cpu(cmd->offset),
+ le16toh(cmd->handle),
+ le16toh(cmd->offset),
read_long_cb, (void *) BTP_GATT_READ_LONG)) {
read_destroy();
goto fail;
@@ -817,7 +819,7 @@ read_multiple(uint8_t *data, uint16_t len)
SYS_LOG_DBG("");
for (i = 0; i < ARRAY_SIZE(handles); i++) {
- handles[i] = sys_le16_to_cpu(cmd->handles[i]);
+ handles[i] = le16toh(cmd->handles[i]);
}
rc = ble_gap_conn_find_by_addr((ble_addr_t *) data, &conn);
@@ -862,8 +864,8 @@ write_without_rsp(uint8_t *data, uint16_t len, uint8_t op, bool sign)
}
if (ble_gattc_write_no_rsp_flat(conn.conn_handle,
- sys_le16_to_cpu(cmd->handle), cmd->data,
- sys_le16_to_cpu(cmd->data_length))) {
+ le16toh(cmd->handle), cmd->data,
+ le16toh(cmd->data_length))) {
status = BTP_STATUS_FAILED;
}
@@ -900,8 +902,8 @@ write(uint8_t *data, uint16_t len)
goto fail;
}
- if (ble_gattc_write_flat(conn.conn_handle, sys_le16_to_cpu(cmd->handle),
- cmd->data, sys_le16_to_cpu(cmd->data_length),
+ if (ble_gattc_write_flat(conn.conn_handle, le16toh(cmd->handle),
+ cmd->data, le16toh(cmd->data_length),
write_rsp, (void *) BTP_GATT_WRITE)) {
goto fail;
}
@@ -927,15 +929,15 @@ write_long(uint8_t *data, uint16_t len)
goto fail;
}
- om = ble_hs_mbuf_from_flat(cmd->data, sys_le16_to_cpu(cmd->data_length));
+ om = ble_hs_mbuf_from_flat(cmd->data, le16toh(cmd->data_length));
if (!om) {
SYS_LOG_ERR("Insufficient resources");
goto fail;
}
rc = ble_gattc_write_long(conn.conn_handle,
- sys_le16_to_cpu(cmd->handle),
- sys_le16_to_cpu(cmd->offset),
+ le16toh(cmd->handle),
+ le16toh(cmd->offset),
om, write_rsp,
(void *) BTP_GATT_WRITE_LONG);
if (!rc) {
@@ -980,16 +982,16 @@ reliable_write(uint8_t *data, uint16_t len)
goto fail;
}
- om = ble_hs_mbuf_from_flat(cmd->data, sys_le16_to_cpu(cmd->data_length));
+ om = ble_hs_mbuf_from_flat(cmd->data, le16toh(cmd->data_length));
/* This is required, because Nimble checks if
* the data is longer than offset
*/
- if (os_mbuf_extend(om, sys_le16_to_cpu(cmd->offset) + 1) == NULL) {
+ if (os_mbuf_extend(om, le16toh(cmd->offset) + 1) == NULL) {
goto fail;
}
- attr.handle = sys_le16_to_cpu(cmd->handle);
- attr.offset = sys_le16_to_cpu(cmd->offset);
+ attr.handle = le16toh(cmd->handle);
+ attr.offset = le16toh(cmd->offset);
attr.om = om;
if (ble_gattc_write_reliable(conn.conn_handle, &attr, 1,
@@ -1038,8 +1040,8 @@ read_uuid(uint8_t *data, uint16_t len)
}
if (ble_gattc_read_by_uuid(conn.conn_handle,
- sys_le16_to_cpu(cmd->start_handle),
- sys_le16_to_cpu(cmd->end_handle), &uuid.u,
+ le16toh(cmd->start_handle),
+ le16toh(cmd->end_handle), &uuid.u,
read_long_cb, (void *) BTP_GATT_READ_UUID)) {
read_destroy();
goto fail;
@@ -1088,12 +1090,12 @@ disc_prim_uuid_cb(uint16_t conn_handle,
return BLE_HS_ENOMEM;
}
- service->start_handle = sys_cpu_to_le16(gatt_svc->start_handle);
- service->end_handle = sys_cpu_to_le16(gatt_svc->end_handle);
+ service->start_handle = htole16(gatt_svc->start_handle);
+ service->end_handle = htole16(gatt_svc->end_handle);
service->uuid_length = uuid_length;
if (uuid->u.type == BLE_UUID_TYPE_16) {
- uint16_t u16 = sys_cpu_to_le16(BLE_UUID16(uuid)->value);
+ uint16_t u16 = htole16(BLE_UUID16(uuid)->value);
memcpy(service->uuid, &u16, uuid_length);
} else {
memcpy(service->uuid, BLE_UUID128(uuid)->value,
@@ -1144,11 +1146,11 @@ disc_all_desc_cb(uint16_t conn_handle,
return BLE_HS_ENOMEM;
}
- dsc->descriptor_handle = sys_cpu_to_le16(gatt_dsc->handle);
+ dsc->descriptor_handle = htole16(gatt_dsc->handle);
dsc->uuid_length = uuid_length;
if (uuid->u.type == BLE_UUID_TYPE_16) {
- uint16_t u16 = sys_cpu_to_le16(BLE_UUID16(uuid)->value);
+ uint16_t u16 = htole16(BLE_UUID16(uuid)->value);
memcpy(dsc->uuid, &u16, uuid_length);
} else {
memcpy(dsc->uuid, BLE_UUID128(uuid)->value, uuid_length);
@@ -1208,8 +1210,8 @@ disc_all_desc(uint8_t *data, uint16_t len)
goto fail;
}
- start_handle = sys_le16_to_cpu(cmd->start_handle) - 1;
- end_handle = sys_le16_to_cpu(cmd->end_handle);
+ start_handle = le16toh(cmd->start_handle) - 1;
+ end_handle = le16toh(cmd->end_handle);
rc = ble_gattc_disc_all_dscs(conn.conn_handle, start_handle, end_handle,
disc_all_desc_cb, NULL);
@@ -1266,14 +1268,14 @@ find_included_cb(uint16_t conn_handle,
}
/* FIXME */
- included->included_handle = sys_cpu_to_le16(service_handle + 1 +
+ included->included_handle = htole16(service_handle + 1 +
rp->services_count);
- included->service.start_handle = sys_cpu_to_le16(gatt_svc->start_handle);
- included->service.end_handle = sys_cpu_to_le16(gatt_svc->end_handle);
+ included->service.start_handle = htole16(gatt_svc->start_handle);
+ included->service.end_handle = htole16(gatt_svc->end_handle);
included->service.uuid_length = uuid_length;
if (uuid->u.type == BLE_UUID_TYPE_16) {
- uint16_t u16 = sys_cpu_to_le16(BLE_UUID16(uuid)->value);
+ uint16_t u16 = htole16(BLE_UUID16(uuid)->value);
memcpy(included->service.uuid, &u16, uuid_length);
} else {
memcpy(included->service.uuid, BLE_UUID128(uuid)->value,
@@ -1323,13 +1325,13 @@ disc_chrc_cb(uint16_t conn_handle,
return BLE_HS_ENOMEM;
}
- chrc->characteristic_handle = sys_cpu_to_le16(gatt_chr->def_handle);
+ chrc->characteristic_handle = htole16(gatt_chr->def_handle);
chrc->properties = gatt_chr->properties;
- chrc->value_handle = sys_cpu_to_le16(gatt_chr->val_handle);
+ chrc->value_handle = htole16(gatt_chr->val_handle);
chrc->uuid_length = uuid_length;
if (uuid->u.type == BLE_UUID_TYPE_16) {
- uint16_t u16 = sys_cpu_to_le16(BLE_UUID16(uuid)->value);
+ uint16_t u16 = htole16(BLE_UUID16(uuid)->value);
memcpy(chrc->uuid, &u16, uuid_length);
} else {
memcpy(chrc->uuid, BLE_UUID128(uuid)->value,
@@ -1365,8 +1367,8 @@ disc_chrc_uuid(uint8_t *data, uint16_t len)
goto fail;
}
- start_handle = sys_le16_to_cpu(cmd->start_handle);
- end_handle = sys_le16_to_cpu(cmd->end_handle);
+ start_handle = le16toh(cmd->start_handle);
+ end_handle = le16toh(cmd->end_handle);
if (ble_gattc_disc_chrs_by_uuid(conn.conn_handle, start_handle,
end_handle, &uuid.u, disc_chrc_cb,
@@ -1440,8 +1442,8 @@ disc_all_chrc(uint8_t *data, uint16_t len)
goto fail;
}
- start_handle = sys_le16_to_cpu(cmd->start_handle);
- end_handle = sys_le16_to_cpu(cmd->end_handle);
+ start_handle = le16toh(cmd->start_handle);
+ end_handle = le16toh(cmd->end_handle);
rc = ble_gattc_disc_all_chrs(conn.conn_handle, start_handle, end_handle,
disc_chrc_cb, (void *) BTP_GATT_DISC_ALL_CHRC);
@@ -1476,8 +1478,8 @@ find_included(uint8_t *data, uint16_t len)
goto fail;
}
- start_handle = sys_le16_to_cpu(cmd->start_handle);
- end_handle = sys_le16_to_cpu(cmd->end_handle);
+ start_handle = le16toh(cmd->start_handle);
+ end_handle = le16toh(cmd->end_handle);
service_handle_arg = start_handle;
if (ble_gattc_find_inc_svcs(conn.conn_handle, start_handle, end_handle,
@@ -1583,7 +1585,7 @@ config_subscription(uint8_t *data, uint16_t len, uint8_t op)
{
const struct btp_gatt_cfg_notify_cmd *cmd = (void *) data;
struct ble_gap_conn_desc conn;
- uint16_t ccc_handle = sys_le16_to_cpu(cmd->ccc_handle);
+ uint16_t ccc_handle = le16toh(cmd->ccc_handle);
uint8_t status;
int rc;
@@ -1677,8 +1679,8 @@ get_attrs(uint8_t *data, uint16_t len)
memset(str, 0, sizeof(str));
memset(&uuid, 0, sizeof(uuid));
- start_handle = sys_le16_to_cpu(cmd->start_handle);
- end_handle = sys_le16_to_cpu(cmd->end_handle);
+ start_handle = le16toh(cmd->start_handle);
+ end_handle = le16toh(cmd->end_handle);
if (cmd->type_length) {
if (btp2bt_uuid(cmd->type, cmd->type_length, &uuid)) {
@@ -1694,8 +1696,10 @@ get_attrs(uint8_t *data, uint16_t len)
SYS_LOG_DBG("start 0x%04x end 0x%04x", start_handle, end_handle);
}
- net_buf_simple_init(buf, 0);
- rp = net_buf_simple_add(buf, sizeof(*rp));
+ rp = os_mbuf_extend(buf, sizeof(*rp));
+ if (!rp) {
+ goto fail;
+ }
entry = ble_att_svr_find_by_uuid(entry, uuid_ptr, end_handle);
while (entry) {
@@ -1706,19 +1710,23 @@ get_attrs(uint8_t *data, uint16_t len)
continue;
}
- gatt_attr = net_buf_simple_add(buf, sizeof(*gatt_attr));
- gatt_attr->handle = sys_cpu_to_le16(entry->ha_handle_id);
+ gatt_attr = os_mbuf_extend(buf, sizeof(*gatt_attr));
+ if (!gatt_attr) {
+ goto fail;
+ }
+ gatt_attr->handle = htole16(entry->ha_handle_id);
gatt_attr->permission = flags_hs2btp(entry->ha_flags);
if (entry->ha_uuid->type == BLE_UUID_TYPE_16) {
+ uint16_t uuid_val;
+
gatt_attr->type_length = 2;
- net_buf_simple_add_le16(buf,
- BLE_UUID16(entry->ha_uuid)->value);
+ uuid_val = htole16(BLE_UUID16(entry->ha_uuid)->value);
+ os_mbuf_append(buf, &uuid_val, sizeof(uuid_val));
} else {
gatt_attr->type_length = 16;
- net_buf_simple_add_mem(buf,
- BLE_UUID128(entry->ha_uuid)->value,
- gatt_attr->type_length);
+ os_mbuf_append(buf, BLE_UUID128(entry->ha_uuid)->value,
+ gatt_attr->type_length);
}
count++;
@@ -1746,15 +1754,17 @@ get_attr_val(uint8_t *data, uint16_t len)
struct btp_gatt_get_attribute_value_rp *rp;
struct ble_gap_conn_desc conn;
struct os_mbuf *buf = os_msys_get(0, 0);
- uint16_t handle = sys_cpu_to_le16(cmd->handle);
+ uint16_t handle = le16toh(cmd->handle);
uint8_t out_att_err = 0;
int conn_status;
conn_status = ble_gap_conn_find_by_addr((ble_addr_t *) data, &conn);
if (conn_status) {
- net_buf_simple_init(buf, 0);
- rp = net_buf_simple_add(buf, sizeof(*rp));
+ rp = os_mbuf_extend(buf, sizeof(*rp));
+ if (!rp) {
+ goto free;
+ }
ble_att_svr_read_handle(BLE_HS_CONN_HANDLE_NONE,
handle, 0, buf,
@@ -1768,8 +1778,10 @@ get_attr_val(uint8_t *data, uint16_t len)
goto free;
} else {
- net_buf_simple_init(buf, 0);
- rp = net_buf_simple_add(buf, sizeof(*rp));
+ rp = os_mbuf_extend(buf, sizeof(*rp));
+ if (!rp) {
+ goto free;
+ }
ble_att_svr_read_handle(conn.conn_handle,
handle, 0, buf,
@@ -1951,16 +1963,17 @@ tester_gatt_notify_rx_ev(uint16_t conn_handle, uint16_t attr_handle,
goto fail;
}
- net_buf_simple_init(buf, 0);
- ev = net_buf_simple_add(buf, sizeof(*ev));
+ ev = os_mbuf_extend(buf, sizeof(*ev));
+ if (!ev) {
+ goto fail;
+ }
addr = &conn.peer_ota_addr;
- ev->address_type = addr->type;
- memcpy(ev->address, addr->val, sizeof(ev->address));
+ memcpy(&ev->address, addr, sizeof(ev->address));
ev->type = (uint8_t) (indication ? 0x02 : 0x01);
- ev->handle = sys_cpu_to_le16(attr_handle);
- ev->data_length = sys_cpu_to_le16(os_mbuf_len(om));
+ ev->handle = htole16(attr_handle);
+ ev->data_length = htole16(os_mbuf_len(om));
os_mbuf_appendfrom(buf, om, 0, os_mbuf_len(om));
tester_send_buf(BTP_SERVICE_ID_GATT, BTP_GATT_EV_NOTIFICATION,
diff --git a/apps/bttester/src/btp_gatt_cl.c b/apps/bttester/src/btp_gatt_cl.c
index f734c9c4e..3f7a09f2f 100644
--- a/apps/bttester/src/btp_gatt_cl.c
+++ b/apps/bttester/src/btp_gatt_cl.c
@@ -44,7 +44,7 @@ btp2bt_uuid(const uint8_t *uuid, uint8_t len,
case 0x02: /* UUID 16 */
bt_uuid->u.type = BLE_UUID_TYPE_16;
memcpy(&le16, uuid, sizeof(le16));
- BLE_UUID16(bt_uuid)->value = sys_le16_to_cpu(le16);
+ BLE_UUID16(bt_uuid)->value = le16toh(le16);
break;
case 0x10: /* UUID 128*/
bt_uuid->u.type = BLE_UUID_TYPE_128;
@@ -134,8 +134,10 @@ tester_mtu_exchanged_ev(uint16_t conn_handle,
goto fail;
}
- net_buf_simple_init(buf, 0);
- ev = net_buf_simple_add(buf, sizeof(*ev));
+ ev = os_mbuf_extend(buf, sizeof(*ev));
+ if (!ev) {
+ return 0;
+ }
addr = &conn.peer_ota_addr;
@@ -200,8 +202,11 @@ disc_prim_svcs_cb(uint16_t conn_handle,
goto free;
}
- net_buf_simple_init(buf, 0);
- rp = net_buf_simple_add(buf, sizeof(*rp));
+ rp = os_mbuf_extend(buf, sizeof(*rp));
+ if (!rp) {
+ rc = BLE_HS_ENOMEM;
+ goto free;
+ }
addr = &conn.peer_ota_addr;
@@ -237,12 +242,12 @@ disc_prim_svcs_cb(uint16_t conn_handle,
goto free;
}
- service->start_handle = sys_cpu_to_le16(gatt_svc->start_handle);
- service->end_handle = sys_cpu_to_le16(gatt_svc->end_handle);
+ service->start_handle = htole16(gatt_svc->start_handle);
+ service->end_handle = htole16(gatt_svc->end_handle);
service->uuid_length = uuid_length;
if (uuid->u.type == BLE_UUID_TYPE_16) {
- uint16_t u16 = sys_cpu_to_le16(BLE_UUID16(uuid)->value);
+ uint16_t u16 = htole16(BLE_UUID16(uuid)->value);
memcpy(service->uuid, &u16, uuid_length);
} else {
memcpy(service->uuid, BLE_UUID128(uuid)->value,
@@ -340,8 +345,11 @@ find_included_cb(uint16_t conn_handle,
goto free;
}
- net_buf_simple_init(buf, 0);
- rp = net_buf_simple_add(buf, sizeof(*rp));
+ rp = os_mbuf_extend(buf, sizeof(*rp));
+ if (!rp) {
+ rc = BLE_HS_ENOMEM;
+ goto free;
+ }
addr = &conn.peer_ota_addr;
@@ -379,14 +387,14 @@ find_included_cb(uint16_t conn_handle,
goto free;
}
- included->included_handle = sys_cpu_to_le16(service_handle + 1 +
+ included->included_handle = htole16(service_handle + 1 +
rp->services_count);
- included->service.start_handle = sys_cpu_to_le16(gatt_svc->start_handle);
- included->service.end_handle = sys_cpu_to_le16(gatt_svc->end_handle);
+ included->service.start_handle = htole16(gatt_svc->start_handle);
+ included->service.end_handle = htole16(gatt_svc->end_handle);
included->service.uuid_length = uuid_length;
if (uuid->u.type == BLE_UUID_TYPE_16) {
- uint16_t u16 = sys_cpu_to_le16(BLE_UUID16(uuid)->value);
+ uint16_t u16 = htole16(BLE_UUID16(uuid)->value);
memcpy(included->service.uuid, &u16, uuid_length);
} else {
memcpy(included->service.uuid, BLE_UUID128(uuid)->value,
@@ -418,8 +426,8 @@ find_included(uint8_t *data, uint16_t len)
goto rsp;
}
- start_handle = sys_le16_to_cpu(cmd->start_handle);
- end_handle = sys_le16_to_cpu(cmd->end_handle);
+ start_handle = le16toh(cmd->start_handle);
+ end_handle = le16toh(cmd->end_handle);
service_handle_arg = start_handle;
if (ble_gattc_find_inc_svcs(conn.conn_handle, start_handle, end_handle,
@@ -455,8 +463,11 @@ disc_chrc_cb(uint16_t conn_handle,
goto free;
}
- net_buf_simple_init(buf, 0);
- rp = net_buf_simple_add(buf, sizeof(*rp));
+ rp = os_mbuf_extend(buf, sizeof(*rp));
+ if (!rp) {
+ rc = BLE_HS_ENOMEM;
+ goto free;
+ }
addr = &conn.peer_ota_addr;
@@ -498,13 +509,13 @@ disc_chrc_cb(uint16_t conn_handle,
goto free;
}
- chrc->characteristic_handle = sys_cpu_to_le16(gatt_chr->def_handle);
+ chrc->characteristic_handle = htole16(gatt_chr->def_handle);
chrc->properties = gatt_chr->properties;
- chrc->value_handle = sys_cpu_to_le16(gatt_chr->val_handle);
+ chrc->value_handle = htole16(gatt_chr->val_handle);
chrc->uuid_length = uuid_length;
if (uuid->u.type == BLE_UUID_TYPE_16) {
- uint16_t u16 = sys_cpu_to_le16(BLE_UUID16(uuid)->value);
+ uint16_t u16 = htole16(BLE_UUID16(uuid)->value);
memcpy(chrc->uuid, &u16, uuid_length);
} else {
memcpy(chrc->uuid, BLE_UUID128(uuid)->value,
@@ -535,8 +546,8 @@ disc_all_chrc(uint8_t *data, uint16_t len)
goto rsp;
}
- start_handle = sys_le16_to_cpu(cmd->start_handle);
- end_handle = sys_le16_to_cpu(cmd->end_handle);
+ start_handle = le16toh(cmd->start_handle);
+ end_handle = le16toh(cmd->end_handle);
rc = ble_gattc_disc_all_chrs(conn.conn_handle,
start_handle,
@@ -576,8 +587,8 @@ disc_chrc_uuid(uint8_t *data, uint16_t len)
goto rsp;
}
- start_handle = sys_le16_to_cpu(cmd->start_handle);
- end_handle = sys_le16_to_cpu(cmd->end_handle);
+ start_handle = le16toh(cmd->start_handle);
+ end_handle = le16toh(cmd->end_handle);
rc = ble_gattc_disc_chrs_by_uuid(conn.conn_handle, start_handle,
end_handle, &uuid.u, disc_chrc_cb,
@@ -616,8 +627,11 @@ disc_all_desc_cb(uint16_t conn_handle,
goto free;
}
- net_buf_simple_init(buf, 0);
- rp = net_buf_simple_add(buf, sizeof(*rp));
+ rp = os_mbuf_extend(buf, sizeof(*rp));
+ if (!rp) {
+ rc = BLE_HS_ENOMEM;
+ goto free;
+ }
addr = &conn.peer_ota_addr;
@@ -654,11 +668,11 @@ disc_all_desc_cb(uint16_t conn_handle,
goto free;
}
- dsc->descriptor_handle = sys_cpu_to_le16(gatt_dsc->handle);
+ dsc->descriptor_handle = htole16(gatt_dsc->handle);
dsc->uuid_length = uuid_length;
if (uuid->u.type == BLE_UUID_TYPE_16) {
- uint16_t u16 = sys_cpu_to_le16(BLE_UUID16(uuid)->value);
+ uint16_t u16 = htole16(BLE_UUID16(uuid)->value);
memcpy(dsc->uuid, &u16, uuid_length);
} else {
memcpy(dsc->uuid, BLE_UUID128(uuid)->value, uuid_length);
@@ -688,8 +702,8 @@ disc_all_desc(uint8_t *data, uint16_t len)
goto rsp;
}
- start_handle = sys_le16_to_cpu(cmd->start_handle) - 1;
- end_handle = sys_le16_to_cpu(cmd->end_handle);
+ start_handle = le16toh(cmd->start_handle) - 1;
+ end_handle = le16toh(cmd->end_handle);
rc = ble_gattc_disc_all_dscs(conn.conn_handle,
start_handle,
@@ -727,8 +741,11 @@ read_cb(uint16_t conn_handle,
goto free;
}
- net_buf_simple_init(buf, 0);
- rp = net_buf_simple_add(buf, sizeof(*rp));
+ rp = os_mbuf_extend(buf, sizeof(*rp));
+ if (!rp) {
+ rc = BLE_HS_ENOMEM;
+ goto free;
+ }
addr = &conn.peer_ota_addr;
@@ -782,7 +799,7 @@ read(uint8_t *data, uint16_t len)
/* Clear buffer */
read_destroy();
- if (ble_gattc_read(conn.conn_handle, sys_le16_to_cpu(cmd->handle),
+ if (ble_gattc_read(conn.conn_handle, le16toh(cmd->handle),
read_cb, (void *) BTP_GATTC_READ_RP)) {
read_destroy();
status = BTP_STATUS_FAILED;
@@ -816,8 +833,11 @@ read_uuid_cb(uint16_t conn_handle,
goto free;
}
- net_buf_simple_init(buf, 0);
- rp = net_buf_simple_add(buf, sizeof(*rp));
+ rp = os_mbuf_extend(buf, sizeof(*rp));
+ if (!rp) {
+ rc = BLE_HS_ENOMEM;
+ goto free;
+ }
addr = &conn.peer_ota_addr;
@@ -857,7 +877,7 @@ read_uuid_cb(uint16_t conn_handle,
goto free;
}
- chr->handle = sys_cpu_to_be16(attr->handle);
+ chr->handle = htobe16(attr->handle);
memcpy(chr->data, attr->om->om_data, attr->om->om_len);
free:
@@ -891,8 +911,8 @@ read_uuid(uint8_t *data, uint16_t len)
read_destroy();
if (ble_gattc_read_by_uuid(conn.conn_handle,
- sys_le16_to_cpu(cmd->start_handle),
- sys_le16_to_cpu(cmd->end_handle), &uuid.u,
+ le16toh(cmd->start_handle),
+ le16toh(cmd->end_handle), &uuid.u,
read_uuid_cb, (void *) BTP_GATTC_READ_UUID_RP)) {
read_destroy();
status = BTP_STATUS_FAILED;
@@ -923,8 +943,11 @@ read_long_cb(uint16_t conn_handle,
goto free;
}
- net_buf_simple_init(buf, 0);
- rp = net_buf_simple_add(buf, sizeof(*rp));
+ rp = os_mbuf_extend(buf, sizeof(*rp));
+ if (!rp) {
+ rc = BLE_HS_ENOMEM;
+ goto free;
+ }
addr = &conn.peer_ota_addr;
@@ -984,8 +1007,8 @@ read_long(uint8_t *data, uint16_t len)
read_destroy();
if (ble_gattc_read_long(conn.conn_handle,
- sys_le16_to_cpu(cmd->handle),
- sys_le16_to_cpu(cmd->offset),
+ le16toh(cmd->handle),
+ le16toh(cmd->offset),
read_long_cb, (void *) BTP_GATTC_READ_LONG_RP)) {
read_destroy();
status = BTP_STATUS_FAILED;
@@ -1007,7 +1030,7 @@ read_multiple(uint8_t *data, uint16_t len)
SYS_LOG_DBG("");
for (i = 0; i < ARRAY_SIZE(handles); i++) {
- handles[i] = sys_le16_to_cpu(cmd->handles[i]);
+ handles[i] = le16toh(cmd->handles[i]);
}
rc = ble_gap_conn_find_by_addr((ble_addr_t *) data, &conn);
@@ -1049,8 +1072,8 @@ write_without_rsp(uint8_t *data, uint16_t len, uint8_t op, bool sign)
}
if (ble_gattc_write_no_rsp_flat(conn.conn_handle,
- sys_le16_to_cpu(cmd->handle), cmd->data,
- sys_le16_to_cpu(cmd->data_length))) {
+ le16toh(cmd->handle), cmd->data,
+ le16toh(cmd->data_length))) {
status = BTP_STATUS_FAILED;
}
@@ -1078,8 +1101,11 @@ write_cb(uint16_t conn_handle, const struct ble_gatt_error *error,
goto free;
}
- net_buf_simple_init(buf, 0);
- rp = net_buf_simple_add(buf, sizeof(*rp));
+ rp = os_mbuf_extend(buf, sizeof(*rp));
+ if (!rp) {
+ rc = BLE_HS_ENOMEM;
+ goto free;
+ }
addr = &conn.peer_ota_addr;
@@ -1110,8 +1136,8 @@ write(uint8_t *data, uint16_t len)
goto rsp;
}
- if (ble_gattc_write_flat(conn.conn_handle, sys_le16_to_cpu(cmd->handle),
- cmd->data, sys_le16_to_cpu(cmd->data_length),
+ if (ble_gattc_write_flat(conn.conn_handle, le16toh(cmd->handle),
+ cmd->data, le16toh(cmd->data_length),
write_cb, (void *) BTP_GATTC_WRITE_RP)) {
status = BTP_STATUS_FAILED;
}
@@ -1136,7 +1162,7 @@ write_long(uint8_t *data, uint16_t len)
goto fail;
}
- om = ble_hs_mbuf_from_flat(cmd->data, sys_le16_to_cpu(cmd->data_length));
+ om = ble_hs_mbuf_from_flat(cmd->data, le16toh(cmd->data_length));
if (!om) {
SYS_LOG_ERR("Insufficient resources");
status = BTP_STATUS_FAILED;
@@ -1144,8 +1170,8 @@ write_long(uint8_t *data, uint16_t len)
}
rc = ble_gattc_write_long(conn.conn_handle,
- sys_le16_to_cpu(cmd->handle),
- sys_le16_to_cpu(cmd->offset),
+ le16toh(cmd->handle),
+ le16toh(cmd->offset),
om, write_cb,
(void *) BTP_GATTC_WRITE_LONG_RP);
if (rc) {
@@ -1182,8 +1208,11 @@ reliable_write_cb(uint16_t conn_handle,
goto free;
}
- net_buf_simple_init(buf, 0);
- rp = net_buf_simple_add(buf, sizeof(*rp));
+ rp = os_mbuf_extend(buf, sizeof(*rp));
+ if (!rp) {
+ rc = BLE_HS_ENOMEM;
+ goto free;
+ }
addr = &conn.peer_ota_addr;
@@ -1216,17 +1245,17 @@ reliable_write(uint8_t *data, uint16_t len)
goto fail;
}
- om = ble_hs_mbuf_from_flat(cmd->data, sys_le16_to_cpu(cmd->data_length));
+ om = ble_hs_mbuf_from_flat(cmd->data, le16toh(cmd->data_length));
/* This is required, because Nimble checks if
* the data is longer than offset
*/
- if (os_mbuf_extend(om, sys_le16_to_cpu(cmd->offset) + 1) == NULL) {
+ if (os_mbuf_extend(om, le16toh(cmd->offset) + 1) == NULL) {
status = BTP_STATUS_FAILED;
goto fail;
}
- attr.handle = sys_le16_to_cpu(cmd->handle);
- attr.offset = sys_le16_to_cpu(cmd->offset);
+ attr.handle = le16toh(cmd->handle);
+ attr.offset = le16toh(cmd->offset);
attr.om = om;
if (ble_gattc_write_reliable(conn.conn_handle, &attr, 1,
@@ -1264,8 +1293,11 @@ subscribe_cb(uint16_t conn_handle,
goto free;
}
- net_buf_simple_init(buf, 0);
- rp = net_buf_simple_add(buf, sizeof(*rp));
+ rp = os_mbuf_extend(buf, sizeof(*rp));
+ if (!rp) {
+ rc = BLE_HS_ENOMEM;
+ goto free;
+ }
addr = &conn.peer_ota_addr;
@@ -1340,7 +1372,7 @@ config_subscription(uint8_t *data, uint16_t len, uint8_t op)
{
const struct btp_gattc_cfg_notify_cmd *cmd = (void *) data;
struct ble_gap_conn_desc conn;
- uint16_t ccc_handle = sys_le16_to_cpu(cmd->ccc_handle);
+ uint16_t ccc_handle = le16toh(cmd->ccc_handle);
uint8_t status = BTP_STATUS_SUCCESS;
int rc;
@@ -1399,16 +1431,18 @@ tester_gattc_notify_rx_ev(uint16_t conn_handle, uint16_t attr_handle,
goto fail;
}
- net_buf_simple_init(buf, 0);
- ev = net_buf_simple_add(buf, sizeof(*ev));
+ ev = os_mbuf_extend(buf, sizeof(*ev));
+ if (!ev) {
+ return 0;
+ }
addr = &conn.peer_ota_addr;
ev->address_type = addr->type;
memcpy(ev->address, addr->val, sizeof(ev->address));
ev->type = (uint8_t) (indication ? 0x02 : 0x01);
- ev->handle = sys_cpu_to_le16(attr_handle);
- ev->data_length = sys_cpu_to_le16(os_mbuf_len(om));
+ ev->handle = htole16(attr_handle);
+ ev->data_length = htole16(os_mbuf_len(om));
os_mbuf_appendfrom(buf, om, 0, os_mbuf_len(om));
tester_send_buf(BTP_SERVICE_ID_GATTC, BTP_GATTC_EV_NOTIFICATION_RXED,
diff --git a/apps/bttester/src/btp_l2cap.c b/apps/bttester/src/btp_l2cap.c
index 03d70688a..498d22604 100644
--- a/apps/bttester/src/btp_l2cap.c
+++ b/apps/bttester/src/btp_l2cap.c
@@ -421,7 +421,7 @@ connect(uint8_t *data, uint16_t len)
SYS_LOG_DBG("connect: type: %d addr: %s",
addr->type,
- bt_hex(addr->val, 6));
+ string_from_bytes(addr->val, 6));
if (mtu == 0 || mtu > TESTER_COC_MTU) {
mtu = TESTER_COC_MTU;
@@ -523,7 +523,7 @@ send_data(const uint8_t *data, uint16_t len)
const struct btp_l2cap_send_data_cmd *cmd = (void *) data;
struct os_mbuf *sdu_tx = NULL;
int rc;
- uint16_t data_len = sys_le16_to_cpu(cmd->data_len);
+ uint16_t data_len = le16toh(cmd->data_len);
struct channel *chan = get_channel(cmd->chan_id);
SYS_LOG_DBG("cmd->chan_id=%d", cmd->chan_id);
@@ -567,7 +567,7 @@ static void
listen(const uint8_t *data, uint16_t len)
{
const struct btp_l2cap_listen_cmd *cmd = (void *) data;
- uint16_t mtu = htole16(cmd->mtu);
+ uint16_t mtu = htole16(cmd->mtu);
int rc;
SYS_LOG_DBG("");
@@ -625,7 +625,7 @@ static void
reconfigure(const uint8_t *data, uint16_t len)
{
const struct btp_l2cap_reconfigure_cmd *cmd = (void *) data;
- uint16_t mtu = htole16(cmd->mtu);
+ uint16_t mtu = htole16(cmd->mtu);
struct ble_gap_conn_desc desc;
ble_addr_t *addr = (void *) data;
struct ble_l2cap_chan *chans[cmd->num];
diff --git a/apps/bttester/src/btp_mesh.c b/apps/bttester/src/btp_mesh.c
index 3e0668ea7..7642f8ea7 100644
--- a/apps/bttester/src/btp_mesh.c
+++ b/apps/bttester/src/btp_mesh.c
@@ -318,8 +318,8 @@ output_number(bt_mesh_output_action_t action, uint32_t number)
SYS_LOG_DBG("action 0x%04x number 0x%08lx", action, number);
- ev.action = sys_cpu_to_le16(action);
- ev.number = sys_cpu_to_le32(number);
+ ev.action = htole16(action);
+ ev.number = htole32(number);
tester_send(BTP_SERVICE_ID_MESH, BTP_MESH_EV_OUT_NUMBER_ACTION,
(uint8_t *) &ev, sizeof(ev));
@@ -358,7 +358,7 @@ input(bt_mesh_input_action_t action, uint8_t size)
input_size = size;
- ev.action = sys_cpu_to_le16(action);
+ ev.action = htole16(action);
ev.size = size;
tester_send(BTP_SERVICE_ID_MESH, BTP_MESH_EV_IN_ACTION,
@@ -441,7 +441,7 @@ provision_node(uint8_t *data, uint16_t len)
addr = sys_le16_to_cpu(cmd->addr);
flags = cmd->flags;
- iv_index = sys_le32_to_cpu(cmd->iv_index);
+ iv_index = le32toh(cmd->iv_index);
net_key_idx = sys_le16_to_cpu(cmd->net_key_idx);
tester_rsp(BTP_SERVICE_ID_MESH, BTP_MESH_PROVISION_NODE,
@@ -499,7 +499,7 @@ input_number(uint8_t *data, uint16_t len)
uint32_t number;
int err;
- number = sys_le32_to_cpu(cmd->number);
+ number = le32toh(cmd->number);
SYS_LOG_DBG("number 0x%04lx", number);
@@ -896,8 +896,8 @@ net_recv_ev(uint8_t ttl,
ev = net_buf_simple_add(buf, sizeof(*ev));
ev->ttl = ttl;
ev->ctl = ctl;
- ev->src = sys_cpu_to_le16(src);
- ev->dst = sys_cpu_to_le16(dst);
+ ev->src = htole16(src);
+ ev->dst = htole16(dst);
ev->payload_len = payload_len;
net_buf_simple_add_mem(buf, payload, payload_len);
diff --git a/apps/bttester/src/bttester.c b/apps/bttester/src/bttester.c
index f0d088630..7245bcb46 100644
--- a/apps/bttester/src/bttester.c
+++ b/apps/bttester/src/bttester.c
@@ -57,6 +57,14 @@ static struct {
uint8_t num;
} service_handler[BTP_SERVICE_ID_MAX + 1];
+
+void
+tester_mbuf_reset(struct os_mbuf *buf)
+{
+ buf->om_data = &buf->om_databuf[buf->om_pkthdr_len];
+ buf->om_len = 0;
+}
+
static void
tester_send_with_index(uint8_t service, uint8_t opcode, uint8_t index,
uint8_t *data, size_t len);
@@ -69,13 +77,38 @@ tester_register_command_handlers(uint8_t service,
const struct btp_handler *handlers,
size_t num)
{
- __ASSERT_NO_MSG(service <= BTP_SERVICE_ID_MAX);
- __ASSERT_NO_MSG(service_handler[service].handlers == NULL);
+ assert(service <= BTP_SERVICE_ID_MAX);
+ assert(service_handler[service].handlers == NULL);
service_handler[service].handlers = handlers;
service_handler[service].num = num;
}
+const char *
+string_from_bytes(const void *buf, size_t len)
+{
+ static const char hex[] = "0123456789abcdef";
+ static char hexbufs[4][137];
+ static uint8_t curbuf;
+ const uint8_t *b = buf;
+ char *str;
+ int i;
+
+ str = hexbufs[curbuf++];
+ curbuf %= ARRAY_SIZE(hexbufs);
+
+ len = min(len, (sizeof(hexbufs[0]) - 1) / 2);
+
+ for (i = 0; i < len; i++) {
+ str[i * 2] = hex[b[i] >> 4];
+ str[i * 2 + 1] = hex[b[i] & 0xf];
+ }
+
+ str[i * 2] = '\0';
+
+ return str;
+}
+
static const struct btp_handler *
find_btp_handler(uint8_t service, uint8_t opcode)
{
@@ -108,12 +141,12 @@ cmd_handler(struct os_event *ev)
cmd = ev->ev_arg;
- len = sys_le16_to_cpu(cmd->hdr.len);
+ len = le16toh(cmd->hdr.len);
if (MYNEWT_VAL(BTTESTER_BTP_LOG)) {
console_printf("[DBG] received %d bytes: %s\n",
sizeof(cmd->hdr) + len,
- bt_hex(cmd->data,
- sizeof(cmd->hdr) + len));
+ string_from_bytes(cmd->data,
+ sizeof(cmd->hdr) + len));
}
btp = find_btp_handler(cmd->hdr.service, cmd->hdr.opcode);
@@ -127,7 +160,7 @@ cmd_handler(struct os_event *ev)
cmd->rsp, &rsp_len);
}
- __ASSERT_NO_MSG((rsp_len + sizeof(struct btp_hdr)) <= BTP_MTU);
+ assert((rsp_len + sizeof(struct btp_hdr)) <= BTP_MTU);
} else {
status = BTP_STATUS_UNKNOWN_CMD;
}
@@ -157,7 +190,7 @@ recv_cb(uint8_t *buf, size_t *off)
return buf;
}
- len = sys_le16_to_cpu(cmd->len);
+ len = le16toh(cmd->len);
if (len > BTP_MTU - sizeof(*cmd)) {
*off = 0;
return buf;
@@ -239,7 +272,7 @@ tester_send_with_index(uint8_t service, uint8_t opcode, uint8_t index,
msg.service = service;
msg.opcode = opcode;
msg.index = index;
- msg.len = sys_cpu_to_le16(len);
+ msg.len = htole16(len);
bttester_pipe_send((uint8_t *) &msg, sizeof(msg));
if (data && len) {
@@ -248,10 +281,10 @@ tester_send_with_index(uint8_t service, uint8_t opcode, uint8_t index,
if (MYNEWT_VAL(BTTESTER_BTP_LOG)) {
console_printf("[DBG] send %d bytes hdr: %s\n", sizeof(msg),
- bt_hex((char *) &msg, sizeof(msg)));
+ string_from_bytes((char *) &msg, sizeof(msg)));
if (data && len) {
console_printf("[DBG] send %d bytes data: %s\n", len,
- bt_hex((char *) data, len));
+ string_from_bytes((char *) data, len));
}
}
}
diff --git a/apps/bttester/src/glue.c b/apps/bttester/src/glue.c
deleted file mode 100644
index f4c838184..000000000
--- a/apps/bttester/src/glue.c
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-#include "syscfg/syscfg.h"
-
-#if !MYNEWT_VAL(BLE_MESH)
-#include <assert.h>
-#include <string.h>
-#include "os/os.h"
-#include "os/os_mbuf.h"
-#include "glue.h"
-
-
-#define ASSERT_NOT_CHAIN(om) assert(SLIST_NEXT(om, om_next) == NULL)
-
-const char *bt_hex(const void *buf, size_t len)
-{
- static const char hex[] = "0123456789abcdef";
- static char hexbufs[4][137];
- static uint8_t curbuf;
- const uint8_t *b = buf;
- char *str;
- int i;
-
- str = hexbufs[curbuf++];
- curbuf %= ARRAY_SIZE(hexbufs);
-
- len = min(len, (sizeof(hexbufs[0]) - 1) / 2);
-
- for (i = 0; i < len; i++) {
- str[i * 2] = hex[b[i] >> 4];
- str[i * 2 + 1] = hex[b[i] & 0xf];
- }
-
- str[i * 2] = '\0';
-
- return str;
-}
-
-struct os_mbuf * NET_BUF_SIMPLE(uint16_t size)
-{
- struct os_mbuf *buf;
-
- buf = os_msys_get(size, 0);
- assert(buf);
-
- return buf;
-}
-
-/* This is by purpose */
-void net_buf_simple_init(struct os_mbuf *buf,
- size_t reserve_head)
-{
- /* This is called in Zephyr after init.
- * Note in Mynewt case we don't care abour reserved head*/
- buf->om_data = &buf->om_databuf[buf->om_pkthdr_len] + reserve_head;
- buf->om_len = 0;
-}
-
-void
-net_buf_simple_add_le16(struct os_mbuf *om, uint16_t val)
-{
- val = htole16(val);
- os_mbuf_append(om, &val, sizeof(val));
- ASSERT_NOT_CHAIN(om);
-}
-
-void
-net_buf_simple_add_be16(struct os_mbuf *om, uint16_t val)
-{
- val = htobe16(val);
- os_mbuf_append(om, &val, sizeof(val));
- ASSERT_NOT_CHAIN(om);
-}
-
-void
-net_buf_simple_add_be32(struct os_mbuf *om, uint32_t val)
-{
- val = htobe32(val);
- os_mbuf_append(om, &val, sizeof(val));
- ASSERT_NOT_CHAIN(om);
-}
-
-void
-net_buf_simple_add_u8(struct os_mbuf *om, uint8_t val)
-{
- os_mbuf_append(om, &val, 1);
- ASSERT_NOT_CHAIN(om);
-}
-
-void*
-net_buf_simple_add(struct os_mbuf *om, uint8_t len)
-{
- void * tmp;
-
- tmp = os_mbuf_extend(om, len);
- ASSERT_NOT_CHAIN(om);
-
- return tmp;
-}
-
-uint8_t *
-net_buf_simple_push(struct os_mbuf *om, uint8_t len)
-{
- uint8_t headroom = om->om_data - &om->om_databuf[om->om_pkthdr_len];
-
- assert(headroom >= len);
- om->om_data -= len;
- om->om_len += len;
-
- return om->om_data;
-}
-#endif
diff --git a/apps/bttester/src/glue.h b/apps/bttester/src/glue.h
deleted file mode 100644
index 024f79564..000000000
--- a/apps/bttester/src/glue.h
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-#ifndef __GLUE_H__
-#define __GLUE_H__
-
-#include "os/endian.h"
-
-#define uint8_t uint8_t
-#define int8_t int8_t
-#define uint16_t uint16_t
-#define uint32_t uint32_t
-#define int32_t int32_t
-
-#ifndef BIT
-#define BIT(n) (1UL << (n))
-#endif
-
-#define __packed __attribute__((__packed__))
-
-#define sys_le16_to_cpu le16toh
-
-struct bt_data {
- uint8_t type;
- uint8_t data_len;
- const uint8_t *data;
-};
-
-#define BT_DATA(_type, _data, _data_len) \
- { \
- .type = (_type), \
- .data_len = (_data_len), \
- .data = (const uint8_t *)(_data), \
- }
-
-struct os_mbuf *
-NET_BUF_SIMPLE(uint16_t size);
-void
-net_buf_simple_init(struct os_mbuf *buf, size_t reserve_head);
-void
-net_buf_simple_add_le16(struct os_mbuf *om, uint16_t val);
-void
-net_buf_simple_add_u8(struct os_mbuf *om, uint8_t val);
-void *
-net_buf_simple_add(struct os_mbuf *om, uint8_t len);
-uint8_t *
-net_buf_simple_push(struct os_mbuf *om, uint8_t len);
-
-#define net_buf_simple_add_mem(a, b, c) os_mbuf_append(a,b,c)
-
-const char *
-bt_hex(const void *buf, size_t len);
-
-/**
- * INTERNAL_HIDDEN @endcond
- */
-
-/**
- * @brief Define an array of atomic variables.
- *
- * This macro defines an array of atomic variables containing at least
- * @a num_bits bits.
- *
- * @note
- * If used from file scope, the bits of the array are initialized to zero;
- * if used from within a function, the bits are left uninitialized.
- *
- * @param name Name of array of atomic variables.
- * @param num_bits Number of bits needed.
- */
-#define ATOMIC_DEFINE(name, num_bits) \
- atomic_t name[1 + ((num_bits) - 1) / ATOMIC_BITS]
-#endif /* __GLUE_H__ */