2021-10-22 20:50:43

by Tedd Ho-Jeong An

[permalink] [raw]
Subject: [RFC BlueZ PATCH v14 4/5] tools/mgmt-tester: Add support for experimental feature in setup

From: Tedd Ho-Jeong An <[email protected]>

This patch adds support for experimental feature in setup_settings
options.
---
tools/mgmt-tester.c | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)

diff --git a/tools/mgmt-tester.c b/tools/mgmt-tester.c
index f490dc261..1ccce0ad6 100644
--- a/tools/mgmt-tester.c
+++ b/tools/mgmt-tester.c
@@ -260,6 +260,7 @@ struct generic_data {
const uint16_t *setup_settings;
bool setup_nobredr;
bool setup_limited_discov;
+ const void *setup_exp_feat_param;
uint16_t setup_expect_hci_command;
const void *setup_expect_hci_param;
uint8_t setup_expect_hci_len;
@@ -7222,6 +7223,7 @@ proceed:
unsigned char privacy_param[] = { 0x01,
0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08 };
+ unsigned char set_exp_feat_param[17] = { 0x00 };
unsigned char *param = simple_param;
size_t param_size = sizeof(simple_param);
mgmt_request_func_t func = NULL;
@@ -7250,14 +7252,30 @@ proceed:
memcpy(param, test->setup_discovery_param, 1);
}

+ if (*cmd == MGMT_OP_SET_EXP_FEATURE) {
+ if (test->setup_exp_feat_param) {
+ memcpy(set_exp_feat_param,
+ test->setup_exp_feat_param, 17);
+ param_size = sizeof(set_exp_feat_param);
+ param = set_exp_feat_param;
+ }
+ }
+
if (*cmd == MGMT_OP_SET_LE && test->setup_nobredr) {
unsigned char off[] = { 0x00 };
+ tester_print("Setup sending %s (0x%04x)",
+ mgmt_opstr(*cmd), *cmd);
mgmt_send(data->mgmt, *cmd, data->mgmt_index,
param_size, param, NULL, NULL, NULL);
+ tester_print("Setup sending %s (0x%04x)",
+ mgmt_opstr(MGMT_OP_SET_BREDR),
+ MGMT_OP_SET_BREDR);
mgmt_send(data->mgmt, MGMT_OP_SET_BREDR,
data->mgmt_index, sizeof(off), off,
func, data, NULL);
} else {
+ tester_print("Setup sending %s (0x%04x)",
+ mgmt_opstr(*cmd), *cmd);
mgmt_send(data->mgmt, *cmd, data->mgmt_index,
param_size, param, func, data, NULL);
}
--
2.25.1