@@ -3659,6 +3659,33 @@ static void config_endpoint_iso_group(const char *input, void *user_data)
}
}
+static void endpoint_is_reconfigure_cfg(const char *input, void *user_data)
+{
+ struct endpoint_config *cfg = user_data;
+ int value;
+ char *endptr = NULL;
+
+ if (!strcasecmp(input, "n") || !strcasecmp(input, "no")) {
+ cfg->ep->iso_stream = BT_ISO_QOS_STREAM_UNSET;
+ } else {
+ value = strtol(input, &endptr, 0);
+
+ if (!endptr || *endptr != '\0' || value > UINT8_MAX) {
+ bt_shell_printf("Invalid argument: %s\n", input);
+ return bt_shell_noninteractive_quit(EXIT_FAILURE);
+ }
+
+ if (value == 0x0)
+ cfg->ep->iso_stream = BT_ISO_QOS_STREAM_UNSET;
+ else
+ cfg->ep->iso_stream = value;
+ }
+
+ bt_shell_prompt_input(cfg->ep->path,
+ "BIG (auto/value):",
+ config_endpoint_iso_group, cfg);
+}
+
static void endpoint_set_config_bcast(struct endpoint_config *cfg)
{
cfg->ep->bcode = g_new0(struct iovec, 1);
@@ -3674,8 +3701,8 @@ static void endpoint_set_config_bcast(struct endpoint_config *cfg)
}
bt_shell_prompt_input(cfg->ep->path,
- "BIG (auto/value):",
- config_endpoint_iso_group, cfg);
+ "BIS Index for reconfiguration? (value(1-31)/no):",
+ endpoint_is_reconfigure_cfg, cfg);
}
static void cmd_config_endpoint(int argc, char *argv[])