static void test_pre_setup_lt_address(const void *data, uint8_t size, void *user_data) { struct user_data *user = tester_get_data(); const struct bt_hci_rsp_read_bd_addr *rsp = data; if (rsp->status) { tester_warn("Read lower tester address failed (0x%02x)", rsp->status); tester_pre_setup_failed(); return; } memcpy(user->bdaddr_lt, rsp->bdaddr, 6); tester_pre_setup_complete(); }
static void read_info_callback(uint8_t status, uint16_t length, const void *param, void *user_data) { struct test_data *data = tester_get_data(); const struct mgmt_rp_read_info *rp = param; char addr[18]; uint16_t manufacturer; uint32_t supported_settings, current_settings; tester_print("Read Info callback"); tester_print(" Status: 0x%02x", status); if (status || !param) { tester_pre_setup_failed(); return; } ba2str(&rp->bdaddr, addr); manufacturer = btohs(rp->manufacturer); supported_settings = btohl(rp->supported_settings); current_settings = btohl(rp->current_settings); tester_print(" Address: %s", addr); tester_print(" Version: 0x%02x", rp->version); tester_print(" Manufacturer: 0x%04x", manufacturer); tester_print(" Supported settings: 0x%08x", supported_settings); tester_print(" Current settings: 0x%08x", current_settings); tester_print(" Class: 0x%02x%02x%02x", rp->dev_class[2], rp->dev_class[1], rp->dev_class[0]); tester_print(" Name: %s", rp->name); tester_print(" Short name: %s", rp->short_name); if (strcmp(hciemu_get_address(data->hciemu), addr)) { tester_pre_setup_failed(); return; } tester_pre_setup_complete(); }
static void test_pre_setup_ut_complete(const void *data, uint8_t size, void *user_data) { struct user_data *user = tester_get_data(); uint8_t status = *((uint8_t *) data); if (status) { tester_warn("Reset upper tester failed (0x%02x)", status); tester_pre_setup_failed(); return; } if (user->index_lt == 0xffff) { tester_pre_setup_complete(); return; } if (!bt_hci_send(user->hci_ut, BT_HCI_CMD_READ_BD_ADDR, NULL, 0, test_pre_setup_ut_address, NULL, NULL)) { tester_warn("Failed to read upper tester address"); tester_pre_setup_failed(); return; } }
static void default_pre_setup(const void *test_data) { tester_pre_setup_complete(); }