diff options
author | Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | 2022-05-17 18:22:01 -0700 |
---|---|---|
committer | Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | 2022-05-18 15:35:49 -0700 |
commit | 1cf5ceeef363cbbf71b1a6f71ef48e01f171988a (patch) | |
tree | d2ea76ad97fdea5970412b8ec5285529dbbf980b /monitor/broadcom.c | |
parent | 5efc737f49d4cb98c9b1658d68b226ed4f4c74cf (diff) | |
download | bluez-1cf5ceeef363cbbf71b1a6f71ef48e01f171988a.tar.gz |
monitor: Cache connection information
This caches connection information including the device addres so it can
be printed alongside the handle:
> HCI Event: Disconnect Complete (0x05) plen 4
Status: Success (0x00)
Handle: 3585 Address: 68:79:12:XX:XX:XX (OUI 68-79-12)
Reason: Connection Terminated By Local Host (0x16)
Diffstat (limited to 'monitor/broadcom.c')
-rw-r--r-- | monitor/broadcom.c | 60 |
1 files changed, 36 insertions, 24 deletions
diff --git a/monitor/broadcom.c b/monitor/broadcom.c index 21a86461b..72da56da2 100644 --- a/monitor/broadcom.c +++ b/monitor/broadcom.c @@ -220,23 +220,24 @@ static void print_clock_setting(uint8_t clock) print_field("UART clock: %s (0x%2.2x)", str, clock); } -static void null_cmd(const void *data, uint8_t size) +static void null_cmd(uint16_t index, const void *data, uint8_t size) { } -static void status_rsp(const void *data, uint8_t size) +static void status_rsp(uint16_t index, const void *data, uint8_t size) { uint8_t status = get_u8(data); print_status(status); } -static void write_bd_addr_cmd(const void *data, uint8_t size) +static void write_bd_addr_cmd(uint16_t index, const void *data, uint8_t size) { packet_print_addr("Address", data, 0x00); } -static void update_uart_baud_rate_cmd(const void *data, uint8_t size) +static void update_uart_baud_rate_cmd(uint16_t index, const void *data, + uint8_t size) { uint16_t enc_rate = get_le16(data); uint32_t exp_rate = get_le32(data + 2); @@ -249,7 +250,8 @@ static void update_uart_baud_rate_cmd(const void *data, uint8_t size) print_field("Explicit baud rate: %u Mbps", exp_rate); } -static void write_sco_pcm_int_param_cmd(const void *data, uint8_t size) +static void write_sco_pcm_int_param_cmd(uint16_t index, const void *data, + uint8_t size) { uint8_t routing = get_u8(data); uint8_t rate = get_u8(data + 1); @@ -264,7 +266,8 @@ static void write_sco_pcm_int_param_cmd(const void *data, uint8_t size) print_clock_mode(clock_mode); } -static void read_sco_pcm_int_param_rsp(const void *data, uint8_t size) +static void read_sco_pcm_int_param_rsp(uint16_t index, const void *data, + uint8_t size) { uint8_t status = get_u8(data); uint8_t routing = get_u8(data + 1); @@ -281,7 +284,8 @@ static void read_sco_pcm_int_param_rsp(const void *data, uint8_t size) print_clock_mode(clock_mode); } -static void set_sleepmode_param_cmd(const void *data, uint8_t size) +static void set_sleepmode_param_cmd(uint16_t index, const void *data, + uint8_t size) { uint8_t mode = get_u8(data); @@ -290,7 +294,8 @@ static void set_sleepmode_param_cmd(const void *data, uint8_t size) packet_hexdump(data + 1, size - 1); } -static void read_sleepmode_param_rsp(const void *data, uint8_t size) +static void read_sleepmode_param_rsp(uint16_t index, const void *data, + uint8_t size) { uint8_t status = get_u8(data); uint8_t mode = get_u8(data + 1); @@ -301,7 +306,8 @@ static void read_sleepmode_param_rsp(const void *data, uint8_t size) packet_hexdump(data + 2, size - 2); } -static void enable_radio_cmd(const void *data, uint8_t size) +static void enable_radio_cmd(uint16_t index, const void *data, + uint8_t size) { uint8_t mode = get_u8(data); const char *str; @@ -321,7 +327,8 @@ static void enable_radio_cmd(const void *data, uint8_t size) print_field("Mode: %s (0x%2.2x)", str, mode); } -static void enable_usb_hid_emulation_cmd(const void *data, uint8_t size) +static void enable_usb_hid_emulation_cmd(uint16_t index, const void *data, + uint8_t size) { uint8_t enable = get_u8(data); const char *str; @@ -341,7 +348,8 @@ static void enable_usb_hid_emulation_cmd(const void *data, uint8_t size) print_field("Enable: %s (0x%2.2x)", str, enable); } -static void read_uart_clock_setting_rsp(const void *data, uint8_t size) +static void read_uart_clock_setting_rsp(uint16_t index, const void *data, + uint8_t size) { uint8_t status = get_u8(data); uint8_t clock = get_u8(data + 1); @@ -350,21 +358,22 @@ static void read_uart_clock_setting_rsp(const void *data, uint8_t size) print_clock_setting(clock); } -static void write_uart_clock_setting_cmd(const void *data, uint8_t size) +static void write_uart_clock_setting_cmd(uint16_t index, const void *data, + uint8_t size) { uint8_t clock = get_u8(data); print_clock_setting(clock); } -static void read_raw_rssi_cmd(const void *data, uint8_t size) +static void read_raw_rssi_cmd(uint16_t index, const void *data, uint8_t size) { uint16_t handle = get_le16(data); print_handle(handle); } -static void read_raw_rssi_rsp(const void *data, uint8_t size) +static void read_raw_rssi_rsp(uint16_t index, const void *data, uint8_t size) { uint8_t status = get_u8(data); uint16_t handle = get_le16(data + 1); @@ -375,7 +384,7 @@ static void read_raw_rssi_rsp(const void *data, uint8_t size) print_rssi(rssi); } -static void write_ram_cmd(const void *data, uint8_t size) +static void write_ram_cmd(uint16_t index, const void *data, uint8_t size) { uint32_t addr = get_le32(data); @@ -384,7 +393,7 @@ static void write_ram_cmd(const void *data, uint8_t size) packet_hexdump(data + 4, size - 4); } -static void read_ram_cmd(const void *data, uint8_t size) +static void read_ram_cmd(uint16_t index, const void *data, uint8_t size) { uint32_t addr = get_le32(data); uint8_t length = get_u8(data + 4); @@ -393,7 +402,7 @@ static void read_ram_cmd(const void *data, uint8_t size) print_field("Length: %u", length); } -static void read_ram_rsp(const void *data, uint8_t size) +static void read_ram_rsp(uint16_t index, const void *data, uint8_t size) { uint8_t status = get_u8(data); @@ -402,14 +411,14 @@ static void read_ram_rsp(const void *data, uint8_t size) packet_hexdump(data + 1, size - 1); } -static void launch_ram_cmd(const void *data, uint8_t size) +static void launch_ram_cmd(uint16_t index, const void *data, uint8_t size) { uint32_t addr = get_le32(data); print_field("Address: 0x%8.8x", addr); } -static void read_vid_pid_rsp(const void *data, uint8_t size) +static void read_vid_pid_rsp(uint16_t index, const void *data, uint8_t size) { uint8_t status = get_u8(data); uint16_t vid = get_le16(data + 1); @@ -419,7 +428,8 @@ static void read_vid_pid_rsp(const void *data, uint8_t size) print_field("Product: %4.4x:%4.4x", vid, pid); } -static void write_high_priority_connection_cmd(const void *data, uint8_t size) +static void write_high_priority_connection_cmd(uint16_t index, const void *data, + uint8_t size) { uint16_t handle = get_le16(data); uint8_t priority = get_u8(data + 2); @@ -480,7 +490,8 @@ static void print_features(const uint8_t *features_array) "(0x%16.16" PRIx64 ")", mask); } -static void read_controller_features_rsp(const void *data, uint8_t size) +static void read_controller_features_rsp(uint16_t index, const void *data, + uint8_t size) { uint8_t status = get_u8(data); @@ -488,7 +499,8 @@ static void read_controller_features_rsp(const void *data, uint8_t size) print_features(data + 1); } -static void read_verbose_version_info_rsp(const void *data, uint8_t size) +static void read_verbose_version_info_rsp(uint16_t index, const void *data, + uint8_t size) { uint8_t status = get_u8(data); uint8_t chip_id = get_u8(data + 1); @@ -517,7 +529,7 @@ static void read_verbose_version_info_rsp(const void *data, uint8_t size) print_field("Build number: %u (0x%4.4x)", build_num, build_num); } -static void enable_wbs_cmd(const void *data, uint8_t size) +static void enable_wbs_cmd(uint16_t index, const void *data, uint8_t size) { uint8_t mode = get_u8(data); uint16_t codec = get_le16(data + 1); @@ -694,7 +706,7 @@ void broadcom_lm_diag(const void *data, uint8_t size) } } -static void lm_diag_evt(const void *data, uint8_t size) +static void lm_diag_evt(uint16_t index, const void *data, uint8_t size) { broadcom_lm_diag(data, 63); } |