aboutsummaryrefslogtreecommitdiff
path: root/parser/csr.c
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2005-09-14 03:25:19 +0000
committerMarcel Holtmann <marcel@holtmann.org>2005-09-14 03:25:19 +0000
commitd2067652d0e22026f7571bee1b1fafff8d6f3949 (patch)
treee508a0aa29c37454648f48583f8dc4bcf5a51cec /parser/csr.c
parent03e0f4fcb213cdd8f0a3d69668f7b4af74614f9f (diff)
downloadhcidump-d2067652d0e22026f7571bee1b1fafff8d6f3949.tar.gz
Update bool and int16 parsing
Diffstat (limited to 'parser/csr.c')
-rw-r--r--parser/csr.c27
1 files changed, 25 insertions, 2 deletions
diff --git a/parser/csr.c b/parser/csr.c
index 9df3cd7..091d27d 100644
--- a/parser/csr.c
+++ b/parser/csr.c
@@ -67,6 +67,16 @@ static inline void complex_dump(int level, char *str, struct frame *frm)
raw_dump(level, frm);
}
+static inline void bool_dump(int level, char *str, struct frame *frm)
+{
+ uint16_t value;
+
+ value = CSR_U16(frm);
+
+ p_indent(level, frm);
+ printf("%s: value %s (%d)\n", str, value ? "TRUE" : "FALSE", value);
+}
+
static inline void int8_dump(int level, char *str, struct frame *frm)
{
int16_t value;
@@ -77,6 +87,16 @@ static inline void int8_dump(int level, char *str, struct frame *frm)
printf("%s: value %d (0x%2.2x)\n", str, value, value);
}
+static inline void int16_dump(int level, char *str, struct frame *frm)
+{
+ int16_t value;
+
+ value = CSR_S16(frm);
+
+ p_indent(level, frm);
+ printf("%s: value %d (0x%2.2x)\n", str, value, value);
+}
+
static inline void uint16_dump(int level, char *str, struct frame *frm)
{
uint16_t value;
@@ -174,8 +194,11 @@ static inline void pskey_dump(int level, struct frame *frm)
case 0x010e:
uint16_dump(level + 1, "LMP_REMOTE_VERSION", frm);
break;
+ case 0x01a5:
+ bool_dump(level + 1, "HOSTIO_USE_HCI_EXTN", frm);
+ break;
case 0x01ab:
- uint16_dump(level + 1, "HOSTIO_MAP_SCO_PCM", frm);
+ bool_dump(level + 1, "HOSTIO_MAP_SCO_PCM", frm);
break;
case 0x01be:
uint16_dump(level + 1, "UART_BAUDRATE", frm);
@@ -199,7 +222,7 @@ static inline void pskey_dump(int level, struct frame *frm)
uint16_dump(level + 1, "USB_DFU_PRODUCT_ID", frm);
break;
case 0x03cd:
- uint16_dump(level + 1, "INITIAL_BOOTMODE", frm);
+ int16_dump(level + 1, "INITIAL_BOOTMODE", frm);
break;
default:
raw_dump(level + 1, frm);