From 67269189caf7cb12e5b76328f3d9d8c2ad76052e Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Sat, 11 Jan 2014 16:02:48 -0800 Subject: [PATCH] tools: Add support for setting Secure Connection Only mode --- tools/btmgmt.c | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/tools/btmgmt.c b/tools/btmgmt.c index 7442ad02e..97215ba83 100644 --- a/tools/btmgmt.c +++ b/tools/btmgmt.c @@ -958,7 +958,30 @@ static void cmd_ssp(struct mgmt *mgmt, uint16_t index, int argc, char **argv) static void cmd_sc(struct mgmt *mgmt, uint16_t index, int argc, char **argv) { - cmd_setting(mgmt, index, MGMT_OP_SET_SECURE_CONN, argc, argv); + uint8_t val; + + if (argc < 2) { + printf("Specify \"on\" or \"off\" or \"only\"\n"); + exit(EXIT_FAILURE); + } + + if (strcasecmp(argv[1], "on") == 0 || strcasecmp(argv[1], "yes") == 0) + val = 1; + else if (strcasecmp(argv[1], "off") == 0) + val = 0; + else if (strcasecmp(argv[1], "only") == 0) + val = 2; + else + val = atoi(argv[1]); + + if (index == MGMT_INDEX_NONE) + index = 0; + + if (send_cmd(mgmt, MGMT_OP_SET_SECURE_CONN, index, + sizeof(val), &val, setting_rsp) == 0) { + fprintf(stderr, "Unable to send set_secure_conn cmd\n"); + exit(EXIT_FAILURE); + } } static void cmd_hs(struct mgmt *mgmt, uint16_t index, int argc, char **argv) -- 2.47.3