From: Marcel Holtmann <marcel@holtmann.org> Date: Tue, 27 Aug 2013 21:56:34 +0000 (-0700) Subject: monitor: Add support for decoding HCI Read Channel Map command X-Git-Tag: android-x86-4.4-r3~7714 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=d9ce9bfc8be927db7eb1d444c3bfcd110b36044d;p=android-x86%2Fexternal-bluetooth-bluez.git monitor: Add support for decoding HCI Read Channel Map command --- diff --git a/monitor/packet.c b/monitor/packet.c index 7b3cd1f82..7a95da336 100644 --- a/monitor/packet.c +++ b/monitor/packet.c @@ -1407,6 +1407,17 @@ static void print_name(const uint8_t *name) print_field("Name: %s", str); } +static void print_channel_map(const uint8_t *map) +{ + char str[21]; + int i; + + for (i = 0; i < 10; i++) + sprintf(str + (i * 2), "%2.2x", map[i]); + + print_field("Channel map: 0x%s", str); +} + void packet_print_version(const char *label, uint8_t version, uint16_t revision) { print_field("%s: %d - 0x%4.4x", label, version, revision); @@ -3376,6 +3387,38 @@ static void read_rssi_rsp(const void *data, uint8_t size) print_rssi(rsp->rssi); } +static void read_afh_channel_map_cmd(const void *data, uint8_t size) +{ + const struct bt_hci_cmd_read_afh_channel_map *cmd = data; + + print_handle(cmd->handle); +} + +static void read_afh_channel_map_rsp(const void *data, uint8_t size) +{ + const struct bt_hci_rsp_read_afh_channel_map *rsp = data; + const char *str; + + print_status(rsp->status); + print_handle(rsp->handle); + + switch (rsp->mode) { + case 0x00: + str = "Disabled"; + break; + case 0x01: + str = "Enabled"; + break; + default: + str = "Reserved"; + break; + } + + print_field("AFH mode: %s (0x%2.2x)", str, rsp->mode); + + print_channel_map(rsp->map); +} + static void read_clock_cmd(const void *data, uint8_t size) { const struct bt_hci_cmd_read_clock *cmd = data; @@ -4337,7 +4380,9 @@ static const struct opcode_data opcode_table[] = { { 0x1405, 125, "Read RSSI", read_rssi_cmd, 2, true, read_rssi_rsp, 4, true }, - { 0x1406, 126, "Read AFH Channel Map" }, + { 0x1406, 126, "Read AFH Channel Map", + read_afh_channel_map_cmd, 2, true, + read_afh_channel_map_rsp, 14, true }, { 0x1407, 127, "Read Clock", read_clock_cmd, 3, true, read_clock_rsp, 9, true },