Diff between c75c5476a9f107b8f3e7c52243104ff80ba630b7 and 034be5d8c1e1a62b7d17282877a4c6e2b1779cd2

Changed Files

File Additions Deletions Status
tools/parser/csr.c +17 -0 modified

Full Patch

diff --git a/tools/parser/csr.c b/tools/parser/csr.c
index 390df3f..0d62571 100644
--- a/tools/parser/csr.c
+++ b/tools/parser/csr.c
@@ -72,6 +72,20 @@ static inline void bdaddr_dump(int level, char *str, struct frame *frm)
 	printf("%s: bdaddr %s\n", str, addr);
 }
 
+static inline void features_dump(int level, char *str, struct frame *frm)
+{
+	unsigned char features[8];
+	int i;
+
+	memcpy(features, frm->ptr, 8);
+
+	p_indent(level, frm);
+	printf("%s: features", str);
+	for (i = 0; i < 8; i++)
+		printf(" 0x%02x", features[i]);
+	printf("\n");
+}
+
 static inline void handle_length_dump(int level, char *str, struct frame *frm)
 {
 	uint16_t handle, length;
@@ -104,6 +118,9 @@ static inline void pskey_dump(int level, struct frame *frm)
 	case 0x00db:
 		uint16_dump(level + 1, "ENC_KEY_LMAX", frm);
 		break;
+	case 0x00ef:
+		features_dump(level + 1, "LOCAL_SUPPORTED_FEATURES", frm);
+		break;
 	case 0x010d:
 		uint16_dump(level + 1, "HCI_LMP_LOCAL_VERSION", frm);
 		break;