From 84bf71d6c3fd57b66d8b56e8162065120b5cc9c5 Mon Sep 17 00:00:00 2001 From: Johan Hedberg Date: Tue, 1 Nov 2011 10:45:00 +0200 Subject: [PATCH] btmgmt: Add common settings change response callback --- mgmt/main.c | 40 ++++++++-------------------------------- 1 file changed, 8 insertions(+), 32 deletions(-) diff --git a/mgmt/main.c b/mgmt/main.c index 2f042c20d..00b3357af 100644 --- a/mgmt/main.c +++ b/mgmt/main.c @@ -529,29 +529,28 @@ static void cmd_info(int mgmt_sk, uint16_t index, int argc, char **argv) } } -static void power_rsp(int mgmt_sk, uint16_t op, uint16_t id, uint8_t status, +static void setting_rsp(int mgmt_sk, uint16_t op, uint16_t id, uint8_t status, void *rsp, uint16_t len, void *user_data) { struct mgmt_mode *rp = rsp; if (status != 0) { - fprintf(stderr, "Changing powered state for hci%u " - "failed with status %u\n", id, status); + fprintf(stderr, "%s for hci%u failed with status %u\n", + mgmt_opstr(op), id, status); exit(EXIT_FAILURE); } if (len < sizeof(*rp)) { - fprintf(stderr, "Too small set_powered response (%u bytes)\n", - len); + fprintf(stderr, "Too small %s response (%u bytes)\n", + mgmt_opstr(op), len); exit(EXIT_FAILURE); } - printf("hci%u powered %s\n", id, rp->val ? "on" : "off"); + printf("hci%u %s %s\n", id, mgmt_opstr(op), rp->val ? "on" : "off"); exit(EXIT_SUCCESS); } - static void cmd_power(int mgmt_sk, uint16_t index, int argc, char **argv) { uint8_t power; @@ -572,35 +571,12 @@ static void cmd_power(int mgmt_sk, uint16_t index, int argc, char **argv) index = 0; if (mgmt_send_cmd(mgmt_sk, MGMT_OP_SET_POWERED, index, &power, - sizeof(power), power_rsp, NULL) < 0) { + sizeof(power), setting_rsp, NULL) < 0) { fprintf(stderr, "Unable to send set_powered cmd\n"); exit(EXIT_FAILURE); } } -static void discov_rsp(int mgmt_sk, uint16_t op, uint16_t id, uint8_t status, - void *rsp, uint16_t len, void *user_data) -{ - struct mgmt_mode *rp = rsp; - - if (status != 0) { - fprintf(stderr, "Changing discov state for hci%u " - "failed with status %u\n", id, status); - exit(EXIT_FAILURE); - } - - if (len < sizeof(*rp)) { - fprintf(stderr, "Too small set_discov response (%u bytes)\n", - len); - exit(EXIT_FAILURE); - } - - printf("hci%u discov %s\n", id, rp->val ? "on" : "off"); - - exit(EXIT_SUCCESS); -} - - static void cmd_discov(int mgmt_sk, uint16_t index, int argc, char **argv) { uint8_t discov; @@ -621,7 +597,7 @@ static void cmd_discov(int mgmt_sk, uint16_t index, int argc, char **argv) index = 0; if (mgmt_send_cmd(mgmt_sk, MGMT_OP_SET_DISCOVERABLE, index, &discov, - sizeof(discov), discov_rsp, NULL) < 0) { + sizeof(discov), setting_rsp, NULL) < 0) { fprintf(stderr, "Unable to send set_discov cmd\n"); exit(EXIT_FAILURE); } -- 2.47.3