aboutsummaryrefslogtreecommitdiff
path: root/parser/csr.c
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2005-06-09 02:10:40 +0000
committerMarcel Holtmann <marcel@holtmann.org>2005-06-09 02:10:40 +0000
commit0d718c4b910ca9979b28eb4119f143d063e7ca9e (patch)
tree58567406e39d40ef400a536e07d761bff6b2405a /parser/csr.c
parentbb1e2a8a093c79dfbdd4a71447e24c79527e5190 (diff)
downloadhcidump-0d718c4b910ca9979b28eb4119f143d063e7ca9e.tar.gz
Decode features PS
Diffstat (limited to 'parser/csr.c')
-rw-r--r--parser/csr.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/parser/csr.c b/parser/csr.c
index 390df3f..0d62571 100644
--- a/parser/csr.c
+++ b/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;