[PATCH BlueZ 3/7] monitor: Add decoding support for LL_PHY_UPDATE_IND

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Luiz Augusto von Dentz <luiz.von.dentz@xxxxxxxxx>

This prints makes the fields to be printed instead of just decoding
the PDU name.
---
 monitor/bt.h |  7 +++++++
 monitor/ll.c | 24 +++++++++++++++++++++++-
 2 files changed, 30 insertions(+), 1 deletion(-)

diff --git a/monitor/bt.h b/monitor/bt.h
index aa4057a7b..46d9b287f 100644
--- a/monitor/bt.h
+++ b/monitor/bt.h
@@ -136,6 +136,13 @@ struct bt_ll_phy {
 
 #define BT_LL_PHY_RSP		0x17
 
+#define BT_LL_PHY_UPDATE_IND	0x18
+struct bt_ll_phy_update_ind {
+	uint8_t  m_phy;
+	uint8_t  s_phy;
+	uint16_t instant;
+} __attribute__ ((packed));
+
 #define LMP_ESC4(x) ((127 << 8) | (x))
 
 #define BT_LMP_NAME_REQ			1
diff --git a/monitor/ll.c b/monitor/ll.c
index a65c93498..02ff1f628 100644
--- a/monitor/ll.c
+++ b/monitor/ll.c
@@ -513,6 +513,28 @@ static void phy_req_rsp(const void *data, uint8_t size)
 							" (0x%2.2x)", mask);
 }
 
+static void phy_update_ind(const void *data, uint8_t size)
+{
+	const struct bt_ll_phy_update_ind *pdu = data;
+	uint8_t mask;
+
+	print_field("M_TO_S_PHY: 0x%2.2x", pdu->m_phy);
+
+	mask = print_bitfield(2, pdu->m_phy, le_phys);
+	if (mask)
+		print_text(COLOR_UNKNOWN_OPTIONS_BIT, "  Reserved"
+							" (0x%2.2x)", mask);
+
+	print_field("S_TO_M_PHY: 0x%2.2x", pdu->s_phy);
+
+	mask = print_bitfield(2, pdu->s_phy, le_phys);
+	if (mask)
+		print_text(COLOR_UNKNOWN_OPTIONS_BIT, "  Reserved"
+							" (0x%2.2x)", mask);
+
+	print_field("Instant: 0x%4.4x", pdu->instant);
+}
+
 struct llcp_data {
 	uint8_t opcode;
 	const char *str;
@@ -546,7 +568,7 @@ static const struct llcp_data llcp_table[] = {
 	{ 0x15, "LL_LENGTH_RSP",            length_req_rsp,     8, true },
 	{ 0x16, "LL_PHY_REQ",               phy_req_rsp,        2, true },
 	{ 0x17, "LL_PHY_RSP",               phy_req_rsp,        2, true },
-	{ 0x18, "LL_PHY_UPDATE_IND",        NULL,               4, true },
+	{ 0x18, "LL_PHY_UPDATE_IND",        phy_update_ind,     4, true },
 	{ 0x19, "LL_MIN_USED_CHANNELS_IND", NULL,               2, true },
 	{ }
 };
-- 
2.17.2




[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux